I think the whole idea of "Cash back" is insane. Someone, i.e. the consumer, is ultimately paying for these rewards, whether it is airline miles or cashback % or whatever.
It is a self-propelling idea that would be almost impossible to kill because doing so would make your credit card offering less competitive.
It is also self-propelling from the consumer end. If you don't take advantage of these rewards, you're paying for everyone else's rewards by buying goods and services at a higher price. Some merchants flat out deny certain credit cards such as AMEX.