For me, AMEX is a preferred choice because I can earn more treat points.
But I found that (at least in Malaysia), a lot of merchants are rejecting AMEX card in favor of Visa or MasterCard. Why?
Those extra treat points have to come from somewhere, and they come from American Express charging merchants a higher percentage than Visa or Mastercard. So it's less attractive for those merchants to accept it.
American Express was originally a mail business that moved into money-orders. Traditionally their cards have been charge cards instead of a credit card (though they have credit products now as well). They've been marketed specifically as a "premium" product for people who have a significant amount of money (and are willing to pay a significant fee for premium services such as AmEx's good airline miles). As such, Visa and MasterCard are more widespread. Additionally, the fees that Visa and MasterCard charge merchants are typically lower (Wikipedia says 2%, as compared to AmEx's 2.5%, at least in the US).
So: American Express gets less business as a company, but they charge higher fees to make up for it. Merchants will only accept the higher fees when they want to serve people who have a lot of money to spend (or if they can negotiate a discount).
I have a merchant account and accept Visa, Mastercard, and Discover but not AMEX. I don't take AMEX because they want me to go through another approval process (on top of what was required to get merchant status) and their fees are a percent or two higher than the other cards. This doesn't sound like a lot - but for a business that grosses $1M per year, an extra 2 percentage points is $20K. I don't gross $1M, but the additional cost for me to take AMEX would still use the word "thousand" and I don't see any reason to jump through extra hoops and fill out more forms for the privilege of giving extra money away. I haven't found anyone yet who wanted to pay me with AMEX who can't pay me with another card or a check instead.
My experience is in the United States only.
In the past, American Express marketed its products as more exclusive and prestigious than other cards. There was an attempt to give the impression that cardholders were more qualified financially. In return, fees were higher both to merchants and to cardholders. At the time (early 1990's), it was not common to use credit cards for small purchases, such as groceries or fast food. Credit cards were used for larger purchases such as jewelry or electronics or dinner in a nicer restaurant.
Once it became popular to use credit cards for everyday purchases, the demand for customers using credit cards changed to the highest number of people instead of people of higher status. At that point, Visa (and to a lesser extent Mastercard) transaction volume increased dramatically. Merchants needed the largest number of customers with cards, not the most financially stable. As Visa volume grew, and people started using Visa for small purchases, the use of American Express decreased as their habits changed (once someone got used to pulling out Visa, they did it in every situation). Merchants are less willing to go through the extra hassle of accepting cards that are used by fewer people. Over time, I suspect this process led to the gap between Visa and American Express.
As a merchant, in order to accept credit cards, you have to set up a bank account and maintain a merchant account. Accepting Visa, MC and Discover can all be done through one account, but American Express has traditionally required a separate relationship, as well as its own set of rules and fees that were generally higher. Since there are relatively few American Express cardholders compared to Visa, there is doubt about whether it is worth it accept the card. It depends upon the customer base. Fine restaurants still generally accept American Express.