Yay, engine discussion!
Generally MMO engines aren't one engine, but essentially 3; Client, Server, and Database (simplifying here). Each piece is as critical as the other. Being complex is generally what causes them to have many more problems than most games.
If you are making, say, an FPS you really only have to worry about the client (and the client's network code). You have one chance to choose incorrectly, and it is usually pretty apparent at an early stage. Just an example as there are many FPS engines out there and it is pretty hard to go wrong here.
For an MMO, each piece handles a separate part of the major responsibility of running the game, with each having completely different requirements. They then have to communicate with each other, sometimes with great latency.
The client and database are generally the easiest to figure out. There are plenty of good clients around with good tools. Unreal for example will give you a renderer, level editor, asset browser, animation controller, particle editor and so on. Databases are also well tested tech with various pros and cons that are fairly well known, giving you a good shot at choosing the correct solution.
Where you usually run into problems though is the "Server" (I use the term loosely here). There is absolutely no established "engine" for an MMO game server in the same way you have Unreal. There are plenty of technologies that CAN run a server, but nothing that works fantastically out of the box. Since your game runs here, most of your game code lives in the space, and that game code needs to communicate constantly with itself, the client, and the database. All that communication makes things heinously complex. It is so complex that to this date there is no good "generic solution" because inevitably there critical functionality missing that you need for your new game.
What I am saying is, for most MMOs there is no "engine" to criticize, only the game itself and the people that built it.