speaking positively about leveling up. While I was providing recommendations on how to do leveling better, I'm soundly in the leveling is bad camp. At best leveling is a gameplay crutch (most amateur RPGs) and at worst it's unethical (slot machines and farmville). In the words of Jonathan Blow, "Such games exploit players by using a simple reward-for-suffering scheme to keep them in front of their computer. ... Developers need to think about what reinforcement the games are providing players when they reward them for performing certain actions."
The most common pitfall of a leveling system is when leveling becomes the barrier to overcome and encourages boring gameplay to achieve a desirable goal. Most players will engage in optimal play regardless of fun level. If leveling is used to slow players down, whether to pace the content or complexity, it only makes the players desire to maximize their gameplay even stronger. Sometimes level can unintentionally be the barrier as well. If you have a barrier, such as a difficult boss, that requires players to be a certain level to beat, players will do whatever it takes to get to that level as quickly as possible. WoW does a good job of avoiding this pitfall with their questing system. Completing quests provides more XP than killing monsters, so grinding isn't the most profitable option. However classic WoW's reputation system exhibited this problem, where your experience bar is now a reputation level bar. Most reputations could only be boosted by killing enemies of an opposing faction, and to get the best reputation rewards there was no choice but to kill they same handful of guys for hours.
While differing levels can be used as a form of server load balancing, forcing players into different areas, it can also get in the way of players playing with their friends who are at different levels. Once again the player's level becomes the barrier to overcome. City of Hero's deleveling system, where a player's level is temporarily lowered to an appropriate level for the content, provides a nice workaround to this issue. High level players can do low level content with their friends, but still get a challenge. In the opposite vein, a difference in player level can turn hostile players into an insurmountable obstacle which can lead to a player quitting. WoW went so far as to make level a parameter of their damage calculations. So not only are lower leveled characters weaker for having lower stats, they're also penalized for being lower leveled. A level 50 character armed to the teeth could not beat a level 60 character armed with a toothpick because the level 60 character got 10 levels worth of damage bonus, and the level 50 character got 10 levels of damage reduction.
One gameplay issue that bugged me the most in WoW was how every character starts at level 1 with no shortcuts. With the 200-240 hours required to get a player to max level, trying out different character classes, or starting on a new server with friends, became a burden. The last thing you want your players thinking is, "Do I want to play with my friends that badly?" Though, it does have a silver lining: players will try out different areas to avoid the monotony. (Now doesn't that sound like fun!)
Now things get a bit ugly. Almost any game with a leveling system will encourage meaningless behavior. Every time a player levels they feel like they've achieved something yet they haven't improved at anything. Whether they were hoping to improve a practical skill (such as with flight simulators) or improve as a gamer they've achieved neither. Plus it teaches that success comes through time and not effort. The old D&D joke of boiling an anthill comes to mind. Every kill must be worth some experience therefore you can become a grand master by killing lots of ants. Sometimes I wonder if video games are to blame for the current generation's unrealistic employment expectations. It seems as though they never had to actually work at something before "succeeding".
When I think about the gameplay of modern free to play games, I think back about the time I spent training my dog. "shake" *gives treat* "shake" *gives treat* now my dog puts her paw up on everyone because she thinks it's how you get treats. Check out Stat Builder for a simplification of what modern games have become. I remember an earlier non-web version of the game where the status message eventually changed to, "For the love of god keep clicking!" Just like slot machine designers, game designers have learned how to create addiction to games that are not games. Unfortunately for slot machine designers, they're regulated on how much they can abuse human nature. For Zynga, the skies the limit.