I feel so guilty with my purse out paying for a £50 item and they ask me face-to-face if they can add just £1 to my bill for the kiddies at the hospice. The problem is when it happens repeatedly, £1 in every shop adds up.
Even worse when you're not spending much (maybe can't afford very much and have carefully budgeted for it). Actually, not even worse - just as bad, as your expensive purchases still might be essential for you and have maxed out your carefully-planned budget or available funds.
Also, it's their chosen charity and not yours. You might have serious reservations about the motives or methods of the charity - or simply prioritise other causes; but if you say you won't today thanks, they look at you as if you've personally gone and set fire to the hospice or cats' home.
At least it's entirely optional when eBay does it, with no person to look disapprovingly at you if you don't; but what are the chances that they'll offer your own favourite charity to make an extra donation to? And if they did, you probably already give what you can anyway.
They've changed it now, but at our local petrol station, when paying by card, the machine used to ask you "Add 25p for charity?" and force you to press the green button for yes (yes, the same colour as the 'enter' button that you're already conditioned to be used to pressing) or the red button for no. No attempt whatsoever to tell you what the charity is, just a lazy way of upselling. What's the betting that everybody's 25p donations suddenly become the company's £XXXXX donation to their chosen charity (assuming it's all legit) and are offset against their tax liability anyway?
Incidentally, there's absolutely nothing stopping them setting up their own charity for something morally questionable (or where they have an active personal interest) but which technically qualifies as allowed charitable aims and just skimming off an extra 25p for their own pet project from all these customers.
Even assuming they don't do this, it's great PR for them; but when you see the likes of Sainsburys and Welcome Break handing over a (literally) giant cheque on Children In Need night, it's always 'our fantastic friends at XXX who do so much to support us' and little or no credit given to the customers who actually gave the money.