The problem with creating an MMO is that you're constructing a world, with all that implies, and it requires accounting for everything under the sun. Unless there's two suns, or no suns, or eight suns, or a combination of suns and moons, and what would that do to gravity, to daylight, to the religions on the planet... Part of the reason for the legendarily long development timeline is this world building, bringing a coherent world with rules and people and a history out of the aether of the design document.
Before a game goes into production, there's usually a preproduction stage where a bunch of designers and various folk start wrestling a mishmash of ideas into a design doc, planning the server architecture and setup, and otherwise trying to turn "Let's make a game" into an actual game.
In some ways, this is the most exciting part of the enterprise as ideas fly around, systems pop up and are trashed in seconds, and the game begins to take shape. And in some ways, it can be the most frustrating once actual production begins, because few plans survive impact with actually having to make the thing.
Once milestones and budgets are set, the dreaming is over and the harsh reality begins. It turns out instead of endless weapons, we have the time and resources to animate and skin about 50 weapons. That cool feature we mentioned is impossible because it might take 3 years and might never work properly. We can't actually do endless amounts of content because we don't have the time, budget, and expertise to come up with procedural content generation and user-generated content is still early enough that no one feels confident enough to build it into our game.
Before the game even enters widespread production, these first compromises have to be made, unless the project is one of those mad genius productions where three or four people make the game of their dreams for love or otherwise have a source of funding allowing them to tinker endlessly. As models go, it's not a bad one, the depths and complexity of projects like Dwarf Fortress or A Tale in the Desert have proven a small or one-man team can survive off a rabid community, donations, enthusiasm, and persistence, but their prospective audience is also much smaller, meaning the potential return on investment is much lower.
For example, the entirely skill-based game is a holy grail for many old school gamers, but let's walk through a shortened version of a conversation that I've had regularly.
How do we keep everyone from taking everything? We put a cap on the number of skills you can max. Okay, but aren't most people just going to figure out the best skills and do those or, alternately, do a bit of everything and be aggressively mediocre? Okay, we'll award bigger bonuses/more power/whatever to people who specialize, but still allow anyone to take anything. So, someone who specializes at the high end will blow away anyone who doesn't specialize? Yes. So didn't we just make it a class-based game at the high end? Okay, we'll put in diminishing returns for those who specialize. Now isn't everyone back to being mediocre to good with a few lunatics at incredible?
At this point, someone jumps out of a window.
That's not to say skill-based games are bad, but it depends on the goals for the game and the anticipated playerbase, as well as how much time you want to spend balancing. Balancing for something with rigid classes is hard enough, but balancing, say, "swords" to let the guy starting out with 1 in swords have fun and the guy with 1,000,000 in swords have fun is a nightmare, especially because everything you put in the game has to be treated as if it's a completely fleshed out path, not just a complementary skill, because someone will inevitably use it all the time.
Let's take "Shields" as a generic example. In a classless-style game, if you allow players to equip two shields, some of them inevitably will. If you only give "shields" a few attacks--reasoning there's only so much you can do with a shield and they're mostly for defensive purposes--a portion of your playerbase will inevitably complain. Why would you allow us to dual-wield shields if you were only going to give them a few lame attacks? Of course, if you make only one usable at a time, you're creating drama because you've restricted our choices and it's not supposed to be that kind of game! If I want to dual-wield shields, then by god, I should be able to, and I swear I won't complain if there's only a few attacks.
That's not to say that a class-based game is much easier. So, you've got a choice between the guy who drops meteors on people and the guy that gives them a Band-Aid and a pat on the back. The game is still in the concept phases and we have a shortage of healers. Can we make the healer cooler, maybe give them a weapon of some kind? Okay, so, now everyone will play the healer because they can fight and heal. Well, let's make them not as good at fighting and maybe they can only self-heal so much at a time and we'll make the other fighters cooler. Actually, philosophically speaking, should healers be able to melt faces or should they just be healing all the time? That sort of seemingly innocuous question can derail an afternoon or a month and lead to a wholesale redesign of a class or even the entire class system.
On the content side, the big, fun stuff like coming up with a world background and cool monsters is the relatively easy part. Everything else takes time, because literally everything has to be considered.
Take barrels. What does a barrel look like in this world? Are there--should there be--more than one style? If so, does each race/side/whatever have its own unique barrels? How big should they be? Should players be able to move them? If so, what do we do to keep them from setting up a wall of barrels to block a door or otherwise be annoying? If not, how are we going to explain that players can just wander through big heavy barrels? Should we explain it? Should we ignore it? Is anyone going to care? After all, somebody will inevitably complain that the Bunny Snugglers would probably have a snuggly barrel while the Bad Dudes would have one covered in black leather and spikes, but will enough people care to make it affect sales?
Or take something like a bookshelf. "It's a bookshelf. Books. Shelf. Doodads." True. But the Mechano-civilization of Shprockets the Steampunk Robot probably doesn't shop at Ikea, so someone has to sit down and figure out what a robot bookshelf looks like. What kind of books would a robot have? Would a robot even need books? Should we have "punchcard shelves" instead? Does anyone know what a punchcard is? Why would robots read, anyway? And then someone chimes in that if the robots don't have bookshelves in their robot house, a bunch of people will eventually complain about the lack of bookshelves in the robot house when everybody else gets bookshelves.
For quests, there's the not-inconsequential matter of simply writing hundreds of them, then scripting, testing, and fixing them, and that's not taking into account giving them coherent storylines, animating NPCs with any particular emotes, making players feel useful, and otherwise making them more than rote exercises in pushing the lever and giving the pellet. Then there's a debate that always comes up: Do players actually read them enough to care? Is it worth putting in enough work to make them tell coherent stories when most people will mash Accept, then follow an arrow to the exact point they need to hit? My answer is always the same, the people who do care will sell the game to the people that don't, but the debate can be quite vigorous.
While I don't play a lot with the technical side of things the essential gist of it is: So, we need you to build us a system made of thousands of servers covering the game, billing, web services, back-end database, and all of it needs to have as close to 100% uptime as humanly possible because for every second it is down our playerbase will hurl itself upon the rocks of our forums, email, phone support, and other CS avenues screaming dire threats at the top of their lungs until the connection is restored. Also, hundreds of thousands of people need to be able to log in at once, play constantly, and not even notice that they're connected to a server hundreds or thousands of miles away from them. And you need to ensure there's as little lag as possible, not that it matters, because people will still complain about lag when they're trying to play The God King of Video Card Killers on Grandma's Wal-Mart Laptop. Have fun!