As BBClone said, credit card companies certainly make a bunch of money from people who pay interest on unpaid balances. But they aren't eating a loss of people who pay it all off each period. It isn't like there is some accountant at American Express who shakes his fist at me when I pay the full amount due every month. Credit card companies make a whole bunch of money off of the fees that merchants pay when you use the card. Which is why they incentivize you to use it as often as possible. That example 2% card - the company makes more than 2% off of those fees so even though they are giving you a percentage back they are still making a profit on every transaction. And when they offer sign on bonuses, or extra high cash back from certain types of purchases they goal is to get you to get used to pulling that card out when making a purchase.
Yep, but I might as well pull out a points card and get something back for my purchase as a consumer instead of using a debit card where I get no points at all.