It is a matter of bank policy.
Cash is better than credit as you can use them anywhere and there's no restrictions, so I guess that's why banks charge more admin fee for cash.
Bank do charge admin fee when you use them at shops/restaurants but the charge are paid by the shops so you need not pay (i.e. if you don't have any outstanding payment).