two reasons come to mind immediately:
- it is low key discrimination of un/underbanked. imagine a "cashless utopia" where the only way you can buy groceries is by either:
* paying a "human usage fee" to use the cash line because businesses have axed labor down to the bone
* for those of the "efficiency" mindset, who just don't accept cash at all, the only way to get a credit or debit card is paying a bank a nice monthly fee. because, well, your credit score is bad. or something.
- it signals that as a business owner you're probably on the take on this whole hoovering up data and using it to your benefit without my consent or profit. you may know me as a loyal customer but i'd prefer to stay out of your MapReduce jobs by using cash, and i'd /especially/ prefer not to be sold or haggled over if you and other bakeries (or software shops) decide to hold church and compare lists to derive insight or other perverted data stuff, as credit cards and banks probably do today.
edit: here's a third - what's the environmental impact of having all this tech running (POS terminal, CC database, all the steps in between)? is it >> cash? i don't know the answer here, though.
another reason: when you pay in cash, your debt to the merchant is settled, right there. as a merchant accepting say a CC, if you fail to run an authorization check, you eat the cost. but what if the power runs out/comms down/servers overloaded/etc.? things get a lot hairier.