I've read about level locking on several websites (e.g. WoWWiki), however, they focus on how instead of why. What is the purpose? If I level a character straight to 90 do I miss something that is impossible to make up?
People may want to lock a character into a specific PvP group. The PvP groups go from x0 - x4 or x5 - x9 (eg 10 - 14) so by locking to 10, 11, 12, 13, or 14 you stick in a particular group.
It's mostly done by people who are engaging in twinking, which is kitting a low level character out in the best, most expensive PvP gear available at that level and just playing a lot of PvP.
Taken from Nick Bayley's comment: Another reason why people level lock, although not as popular, is to do old dungeons/raids at the level they were meant to be done at. However, with the talent changes, glyphs and inflation of gear, they don't pose the same challenge as they did when they were current content.
The queue system doesn't allow you to sign up for random instance groups that are below your level. For example, if you want to get a specific item or get an achievement while in a group, you could freeze your level so that you can do it. This can be useful for more fully appreciating burning crusade and lich king heroics at the level they were designed for. It is possible to solo most instances and raids from previous expansions, but some of them are too hard, also, playing in a group can be more fun than playing alone.
To ensure you don't out-level content if you're playing it for the first time. For example, I've recently come back to the game and am playing through the Mists of Pandaria expansion but have already hit level 90 and am only on the second zone. Locking at level 90 means the next expansion's content will still be level appropriate when I get to it.