Here is my theory.
It, despite being apparently nonsensical, arises from a rather sensible dynamic. Very similar to one we bitch about in software.
Well-run companies attempt to reduce costs and maximize revenues. That means that any area of the business that is a cost center gets shortchanged, and companies try to avoid paying them, and shove as much liability for it as they can off on others. And if those others see that business as the price of doing business, they will swallow the pill.
Software companies do that with security (which is one reason their software sucks) and shove things off with their warranty disclaimers. Credit card issuers do the same thing, and shove liability (eg fraud cost) to merchants.
As for the merchants, if they don't accept credit cards, they lose a lot of business. The credit cards aren't giving them a choice, they either accept the deal as is or lose customers. If someone came out with a better designed credit card, what would happen? It would cost more to implement, no customers would use it, and so no merchant would accept it. With no merchants accepting it, no customer would want to use it and...shit.
So credit card companies have little liability or motivation to pursue real solutions. Merchants have no leverage. So merchants accept credit cards and swallow fraud as a cost of doing business.
What do you think?
Cheers,
Ben