I think a major difference in opinion here comes from the size of the shop/business. A lot of smaller shops can swap bank accounts every couple of years and never see a charge for cash, likewise smaller businesses do need cash to maintain their cash-flow. Debit/credit may only take a couple of days longer but I guess if a corner shop takes £1k per day then they need a spare 2k before they can stop worrying about cards.
To be brutally honest, I always look down on people that ask for a discount 'out of cheek' just to see if they can save a tiny bit. Clearly we want to be competitive, so we have already made our prices as low as we wanted too. If they can't afford it, just don't buy it! If we gave everyone a discounted price the business wouldn't work, so why give anyone a discount?
The only time a discount makes sense to me is if someone buys in unusual qty (generally a sale is the same amount of work regardless of whether we sell 10 items, or 150 items of the same), or if we have inconvenienced them in some way and offer a discount as an apology.
The crazy thing is that people are being told to try for discount in chain stores and super markets now! These businesses generally only make money out of every 10th customer anyway, TESCO's is every 20th customer I believe. Are people seriously holding up queues and upsetting the checkout staff on the high street to save a quid???
I have some great advice for hagglers: Earn more or buy less