Retail stores are happy to charge everyone 2% more that they can pocket if the customer isn't using amex as long as all the others will too. (They can't give a cash discount without violating the vendor terms and they shouldn't sell at a loss.)
Smaller businesses may offer you different terms verbally and other businesses will risk not having amex to have the lowest prices. But until amex is more like discover that carries brand risk instead of pure shame for the user.