Bank provide you an service and charge for it. What wrong with that? Nothing in this world come free except air.
The charge is upto 3%, normally the retailers pay for it, so you do not know the differnce between paying by cash/cheque or paying by credit card. From business point of view, they actually perfer credit card even with charge because (1) bank also chage them for handling cash and cheque (2) it takes time and risk to deposit cash, credit card transications are almost instant.
Banking is "free" because the bank charge you in other ways, mainly take your money and pay you very little or no interst but charge a arm or leg to loan money to someone else (e.g. morgatage).