The biggest reason players buy gold in World of Warcraft is because making gold in WoW is often tedious and job-like compared with Player vs. Player, Group, and Raid experiences. The simplest way to explain it is by using some basic math.
Say you are an adult with a decent job -- maybe you make $30 per hour. If you were to take that $30 and buy WoW gold with it, you could buy between 10,000 and 15,000 gold pieces. Now, say that you you had to farm that gold yourself. How many hours would it take to make 10,000 gold? Not too many if you are at the beginning of an expansion cycle and you have a high-level character. Or, if you know your way around the Auction House, it doesn't take too long either. Realistically though, for an average player with a max-level character mid-expansion, they aren't going to be making more than 500 gold an hour, which means that it's going to take them 20 hours to make that 10,000 gold. And then you do the comparison: Would you rather work one hour at your job or work twenty hours in game to reap the same reward. For the vast majority of people, they'd rather work the hour at the job, then spend those remaining 19 hours in-game doing what they really want to do.
So, why doesn't everyone just buy gold in World of Warcraft instead of going through the tedious farming process? The biggest reason is the Terms of Service which state that it is against the rules to buy WoW gold and that you risk having your account banned if you are caught buying or selling gold. A second reason is that not everyone has a job, so in terms of economic efficiency, spending twenty hours to farm 10k gold isn't as big a cost. Another reason is that many players view it as "cheating". For the good of the game, they choose not to buy money in WoW. Still another reason is that they don't know where to buy the gold or they don't trust the companies who are selling the gold.
Even with all of those negatives, a lot of players are still buying gold in World of Warcraft. And it is nothing new in the MMORPG world. Many games have legalized the practice so that they get a cut of the enormous virtual-goods pie. Everquest 2 and Eve Online are two well known games that have developed models that allow players to buy currency. And while these games weren't wrecked by it, they did suffer a lot of criticism from a vocal minority among the player-base--the minority who believes that MMORPGs are competitive enterprises instead of cooperative. These vocal purists believe that a virtual economy must be protected at all cost, when the reality is pretty clear: most players just don't care about what other people are doing in an MMORPG as long as things don't get out of hand. They worry about their fun and they stick to their business.
So, are gold-buyers lazy no-good cheats who ruin the WoW economy? It depends who you ask. I think it'd be great if nobody ever bought or sold gold. It'd be very interesting to see how the economy would change without the insidious botting/farming/market-crashing activities of gold-selling companies. But then there is the reality, and in reality, there is an insatiable demand for gold in World of Warcraft, and for some individuals who work long hours in real life, it is a no-brainer to try to find a way to cram as much fun into their limited free time as they can. Farming gold isn't fun. Making gold in World of Warcraft isn't fun. It's a necessary time sink to keep us subscribed and to keep us toiling toward our "goals".
The solution to the problem for the average player is not to buy gold. Nobody ought to risk their account unless they are very confident in the discretion of their gold-supplier or unless they are willing to get into the black market for WoW accounts as well. The better model for a lot of players should be to maximize gold-making profit in the time that you devote to it by being ruthlessly efficient, cunning, and focused. There are a lot of ways to make gold quickly in World of Warcraft. Better to learn how than to risk your account and end up having to start from scratch if the black market turns on you.