Why don't they stop it? because they still make a profit if you pay the fake charge.
Exactly. The banks have little incentive to do better since they pass the fraud risk to the merchant, who passes the cost to shoppers (us). Similar is true of cash back cards. When a cash back card is used the banks charge the merhcant more, who then raises prices to make up for it.