Preorders are fine if executed correctly. They allow the company to get an estimate of the number of players they need to accommodate. The problem comes when people wait to preorder until the week before release. Then the numbers are off and stability issues ensue.

Three ways to adjust:
-Limit number of preorders available. Worst option, would make release just as bad.
-Cut off date for preorders. Might not give an accurate picture of interest. But gives incentive to preorder soon enough to make plans for server traffic.
-Tiered early access. Other games have done this. It adds an incentive to preorder as soon as possible, making number of orders more accurate. If people want to wait to try the open beta before committing money, they have the option, but don't get as much pre-release time.

If they didn't do preorder, we'd have the same issues on official release day or when people finally decide to play the game a month down the road. (See WoW during WotLK)