Back to your first comment on the "catch". It not the consumer that pays, it is the merchant. The merchant has to pay the credit cards a fee for every transaction. By the consumer encouraged to use the cards more, the credit cards get more money from the merchants and share it with the consumer, thus the kick back to you.
My thought is if the merchant wasn't willing to pay the fee, they wouldn't take the cards.