The only reason I find the lack of user loyalty a surprise is that people will spend hours (20+) a week playing these games and they don't just quit the current game, they quit the current game and go find another MMO.
I've come up with a list of things I think cause player dissatisfaction with games, as well as some ideas I have on ways to make games better.
Grinding is doing a repetitive task to gain a level or skill point. There is no game purpose, the character is not creating anything valuable, they are powering their way through an unpleasant limited ability level to get to the "good stuff". The terms of service of most games prohibit 3rd party tools that automate the character's actions. The fact that people would consider using such tools says to me that activities that require them probably do not belong in the game.
Star Wars Galaxies had the interesting idea of giving crafting experience when people actually use the items that have been created. The problem remains that the primary source of crafting experience comes from creating tons of useless items that will probably never be used.
My suggestion is that the apprentice and journeyman portion of crafting skill levels be replaced almost entirely with crafting quests. This would give characters some starter recipes to build and introduce new players to crafting in a way that would not send them to web sites looking for how to skip to the good stuff.
Once characters reach higher levels of crafting ability make resource availability the driver behind what they create. Add in some dependancy on custom fitting or an enchanter and you can keep high level crafters involved with other character classes.
Competition for limited content
A couple of the great stories of Fafhrd and the Grey Mouser involved them competing with others for fame or a treasure. The problem is that this does not translate well into online games. Suffering lag or exchanges of "yuo teh suxxor - we was here first!!" because 3 other groups are sitting on a spot is not the stuff of high fantasy (or even an enjoyable evening's distraction).
I understand that a certain amount of competition is necessary to encourage people to create groups and that the game servers cannot waste the memory on unlimited content that is never used. There is also the problem of "good spots" - good content that is placed in such a way that an easy escape or return to town is available nearby and that many people will prefer to play on such spots.
My suggestion on the unlimited content problem and map space is that a lot of it can be generated as needed from templates and then placed as characters enter an area. Major landmarks and terrain features have to be permanent to create the feeling of a continual world and give explorers something to discover (For a discussion of the types of players and the interaction between the types see Players who suit muds by Richard Bartle).
As far as addressing the "sweet spots" it may be that high traffic areas tend to generate either a decrease in monster poplulation, an increase in "inconvenience monsters" (high risk - low payoff monsters like thieves and jackals), a decrease in payoff from camping an area, or some combination. Player traffic could even affect the world in a permanent or semi-permanent way by continually pushing back the frontier as characters "conquer" an area.
Every MMO starts with a variation on your character getting his stuff and running out to the "newbie area" to kill swarms of bees or rats or whatever happens to infest the surrounding area. As the character advances in power you move on to tougher and tougher areas, killing and leveling as you go - with the occasionaly penalty as you push too far and your character is killed or knocked out or whatever the local game fiction is for non-permanent character death.
I have no real idea on how to accomplish this (a few real tentative ideas so far), but I'd like to see the level treadmill done away with and permanent death (maybe with rare or difficult resurrections) become a feature of games. Permanent death would obviously require some means of correcting unfair deaths due to lag or computer crashes and such systems would be prone to abuse (know your going to die? Run a lag generator or hit the power on your computer), and I'm not sure how suitable it would be for a profit driven game.
This is just a subject I've been thinking about lately and since I have no experience with MUD or MMO design some of the problems that I see may be unavoidable or my suggestions unworkable. I just think that if game designers do not think about how to remove these irritants that we will be doomed to an endless parade of Everquest and SWG clones, and that game companies will continue to see player churn and short lifetimes on their games.