Many conservatives and libertarians said the anger should be aimed at Congress and the Obama administration, which, through last year's Dodd-Frank financial regulation bill, effectively outlawed the old debit card business model, spurring Bank of America to make this change.

But the real culprit is Walmart and the retail lobby, which used government to squeeze banks and fatten their own bottom line. Walmart won, banks lost, and now customers are stuck with a new monthly fee.

Here's the background: Whenever you use a credit card or debit card to buy something at a store, the credit card processor (like Visa or Mastercard) and the issuing bank (like Bank of America or Chevy Chase Bank) both take a cut. The store may only get $9.70 on a $10 purchase.

How is that rate -- the "interchange fee" -- set? Until this year, it was set by market forces. Visa and Mastercard offer stores a service that facilitates sales and brings in more business. In return, they demand a cut of the sale. Walmart and Joe's Corner Store aren't required to accept debit cards or credit cards, but they do, which means that they decided the price was worth it.

Retailers, of course, wish the card issuers and processors would provide this service for free. Businessmen are always looking for a better deal. The businessmen in this case decided to employ regulatory robbery to get their way. Led by Walmart and the Retail Industry Leaders Association, retailers pushed for a federal cap on interchange fees.

When the Dodd-Frank financial regulation bill came up, Sen. Dick Durbin introduced an amendment giving the Federal Reserve the authority to cap the interchange fee on debit cards (but not credit cards). Durbin, in the misleading populist mold of his fellow Illinoisan, Barack Obama, painted himself as the scourge of the special interests, because he was battling against the banks. But some other special interests were firmly in Durbin's corner: the big retailers.

As predicted here: