If this was not the case, credit card companies would not offer the programs. Think about it...
***
They get paid even if you don't carry a balance - don't they charge the retailer a certain percent of each purchase just for allowing customers to use credit cards? I thought that was why some places don't take AmEx - I've heard they're more expensive. If the cc company can claim more customers because of their reward program (even if its a loss leader), they can use that in their favor to negotiate with retailers, get more exclusive locations, and charge higher transaction fees. I think there was a big settlement recently between Visa and AmEx over tactics used to squeeze each other out and become the 'exclusive' accepted card at given locations. That might change the fee structures soon and have an impact on rewards programs.
Of course, the cc companies like it a lot more if you carry a balance or incur fees, but I bet they come close to covering the cost of rewards programs just on their transaction fees charged to retailers.