@illiterato You are right on a number of points, many big venues take card only particularly if they use contracted staff (festivals etc) or don't have a a manager overseeing the tills - it certainly cuts down on the opportunity for dishonest staff to help themselves to cash. And also for most large companies banking cash is a headache and has significant costs involved.
I believe most large companies also get a reduction in the fees they pay to the merchant services and probably because they have huge numbers of chip and pin machines they either own them outright or pay a nominal charge to rent them.
However for smaller businesses, the costs are prohibitive.
There's a % of the value of the transaction, plus a small (around 5 pence) charge attached to every transaction. If a customer uses a credit card/business card or international card the % is even higher than for regular debit cards (and American Express are ridiculously high which is why many don't take it)
On top of that there is a monthly charge for PCI which is a compliance tool to make sure you're handling card data securely.
Then there is the quarterly rent of the actual machine, oh and don't forget you usually need a broadband connection (which many small/independent retailers/hospitality places wouldn't normally bother with)
Banking cash for many small businesses can be free up to a certain amount, or alternatively it's used to pay suppliers/cash and carry/wine merchants, etc. Or historically in our case if I ended up with too much cash to bank and risked incurring charges, I used it to pay part time staff. I always made sure they sign to say they have received their wages in cash so there's a paper trail for HMRC.
But whichever way you look at it, the cost to take card transactions for small businesses (which make up the greater part of the UK economy) is higher than to process cash transactions.
Sadly for us, less than 4% of our turnover is cash now and so those costs are built into increased customer prices.