I wonder why more shops dont accept AMEX?

I've noticed recently booking a package holiday that a lot of travel comapanies state that if you use a credit card there is usually a 2% fee to pay. I dont see why shops couldnt do the same. Personally though i'd rather just pay the price that is advertised.
Edit: FYI, Antics is an excellent chain of shops that accept any type of payment and also show stock levels at their wharehouse and all their shops (take note DMS!

)
Here is their website:
http://www.rccarsandtrucks.co.uk/