Of course it can drop below that mark, but that is usually a negotiation between a vendor and the payment processor. If you are small and unlikely to drive much business, you will have a hard time getting a lower number. Where I work, we get 2.3% and do several million dollars a year in transactions. We are also a government institution, so it's likely that the processor sees us as a lower risk (though most of the risk comes from the card holder) hence we get the lower rate.
I'd bet that WalMart pays significantly lower fees due to volume.
Presumably on a Visa transaction the payment provider takes a cut and Visa takes a cut. There's competition between payment providers to keep their cut down, but you can't charge Visa cards without Visa's help, meaning there's no competition on their cut. Unless a merchant is bold/foolhardy enough to decline Visa.
In the UK a lot of stores don't accept American Express due to their higher processing fees [1].