In short, vendors know they can trust credit cards. They do *not* know they can trust anonymous random joe customer who can so easily game bitcoin to their advantage.
Let me guess, you've never run a business before. Well I do. I trust bitcoins 1440 times more than I trust credit cards, even 0/unconfirmed transactions. Any credit card transaction can be easily reversed up to 60 days later. A bitcoin transfer is nearly impossible to revoke 1 hr after receiving it.
The solution is simple, and it's already in place with credit cards. Haven't you been asked to show ID when using a credit card? Solution: Accept 0/unconfirmed transactions with a valid ID.
This isn't just rhetoric, I'm backing my words up with a real commitment, with real money and products on the line. You can walk into my store and buy a top-of-the-line computer and I'll let you walk out the door with it after seeing a 0/unconfirmed transaction on my bitcoin node and showing a valid ID. A credit card transaction is far more risky to me.