They are able to do this because the merchant pays higher fees when they process a transaction using a 'rewards' card. These fees are passed on to the consumer with higher prices.
Yes, they charge ALL consumers higher prices to pay the CC fees of which I get a nice cut of, including those suckers who pay cash, checks and debit cards.
So those of us who are smart enough to use CCs are being paid by the suckers, and CCs are well protected against fraud and super convenient. Its a win-win-win
Occasionally a merchant wont take CCs or they charge a CC fee. But most take them for free because they are good for their business.