The only issue is that the merchant will almost certainly want to convert the Bitcoin to fiat - so you're just moving the problem. The buyer feels good because he's paid in Bitcoins, but now the merchant has to convert the Bitcoins back to fiat or risk the exchange rate going down (and lose considerably more than the Visa/Mastercard credit card processing fees). That will only change once the merchants can pay some (or all) of their suppliers in Bitcoin as well - something I don't see happening very soon.