I think credit card fees are often positioned against what businesses believe is the cost of cash, i.e. zero.
However, with cash one needs to have / has / has to pay for:
* a more complex register * a person who takes more time to do the transaction * someone who counts the register at the end of the day to ensure it matches * someone who drives to the bank to deposit the money (at random times) * additional insurance * a bank account which probably charges for these cash services
If you don't count time, then cash is better.
And also, in Europe, if you as a business prefer cash, we all know it means that you make X, but you only report X/2.
But unless you don't accept cash at all, you have to do that anyway.