Both cards give equal earning potential: 1.5 miles/points per dollar spent on all purchases. However, they are different in the way you redeem rewards and its value. The Discover it® Miles allows to redeem for travel statement credit or as cash deposited to your bank account. The redemption ratio is always the same regardless of the redemption option you choose: 1 mile = 1 penny. Another good thing about redemption is that you can use earned miles starting at 1 mile! Most issuers require a minimum of miles for each type of redemption.
As for the Bank of America Travel Rewards credit card, it will allow you to redeem earned points for travel credits, cash rewards or gift cards. To redeem for a travel credit or cash reward, you should accumulate at least 2,500 first. Each point redeemed for a travel credit is worth $0.01 (2,500 points = $25). Each point redeemed for cash is worth $0.006 (2,500 points = $15). The redemption value for gift cards vary but redemptions usually start at 3,125 points.
As you can see, Discover gives more freedom and does not devalue earned miles when redeeming for cash. So if you are planning to redeem for cash and do not like waiting, Discover it® Miles card is the best choice.