All very true GeoHorn. I use a credit card for all my work expenses for exactly that reason - it costs me more but the ease of accounting is worth 1-2% for me. Similarly, as you say many retailers don't discount for cash, so why not use a credit card in that situation.
When I used to have an Amex and a Visa, and typically Visa charged lower merchant fees, I used to ask for a cash discount. If they said no and were polite they got the Visa, if they said no and were rude they got the Amex.
The reality is that the cost of those warranties, cash backs and everything else is worked into the offer. Someone pays that cost - either you directly through a transaction surcharge, or it's spread across all buyers (credit and non-credit) for retailers that don't discount for cash/debit. Eventually this model must die - if I want to buy something and have cash, surely I'd go to the retailer that discounts for cash. This must be particularly true online - one online retailer is much like another. If one retailer starts discounting cash, then they'll get all the cash buyers. That will make the retailer who doesn't discount for cash more expensive, since their buyers are now 100% credit card. Having said that, it's been going on for 15-20 years and hasn't changed, so "eventually" may be a long time in the future.