"We have three quarterbacks," Bowles said. "Obviously, we drafted Sam (Darnold) in the first. We like Teddy (Bridgewater). We like Josh (McCown). We just had one too many to get all of them reps, so we held him out today just because we had things in the works in case something happened.
"So we just wanted to go with the three quarterbacks that we have and let these guys battle it out."
Hackenberg never entered a game in two seasons with the New York Jets after being a second-round pick in 2016.
"Anytime a pick doesn't work out I guess you can look at it as a waste," Bowles said. "When a pick does work out, it is not a waste. You learn lessons from everything you do in life.
"It isn't just football and draft picks. If anyone has a four-leaf clover up their butt and it is going to work out every time please let me know that person because hey, it didn't work out here."
The trade came shortly after Hackenberg criticized the staff for what he perceived as a lack of coaching to correct his issues.
Bowles said the comments had no bearing in the trade.
"No, Hack (Hackenberg) is a great guy," Bowles said. "He is 23 years old. He should want to play and he is a competitor so I understand."