Cash is not free for the business. People always assume that businesses are losing out on revenue by accepting cards, and thar cards inflate the price for everyone.
But it's not free to accept cash - you have to manage your float, transport cash between the bank and your premises, and there can be bank charges to account for too. All of which can easily eclipse the cost of card fees, especially in markets like the EU where those are capped.
Usually the main reason some shops prefer cash is because they can put the cash directly in their pocket and do tax fraud on a percentage of their revenue.