Rewards payouts are funded by interchange fees which are paid by the retailer... aka the consumer. If you use rewards cards, your rewards payment is subsidized by populations whom don't use rewards cards.
The whole reason interchange fees existed in the first place was to move some of the costs of operating the networks away from banks to merchants. Merchants have a natural incentive to accept cards (sales!), while banks originally didn't have the same incentive to offer them. Interchange fees were meant to level the field.
In a competitive environment, interchange fees should go down and reach an socially efficient level. Instead, the US has the highest interchange fees in the world due to network consolidation and the four-party system catering to banks, not to merchants.
IIRC, the average US household pays ~$400/yr in interchange fees. Rewards cards are silly and I'm glad they'll be dying a slow death soon.
Costco Amex is 3% for gas and restaurants, 2% for "travel" (hotels, travel fare), and 1% everywhere else. (Anomaly - It's 1% inside theme parks, even for food, but 2% if you pay for things in advance.)
Discover runs 5% promotions on various things that last a month or two. These things include gas, grocery, drug store purchases. However, make sure that you understand the terms. (Some of the travel promotions weren't much good because 5% only applied to the first $500.)
Sometime there are promotion on Amex gift cards with 2% to 4% rebates. I would buy those with my Schwab card, getting effective 4% to 6% rebates. Edit: Funny story, I used this $3000 Amex gift card in Starbucks and the cashier said someone was really nice to you to give you that. I smiled. Yeah, I'm nice to myself.