A large part of the issue is because of how MMOGs, and WoW in particular, handle loot distribution. P0tsh0t has an in-depth discussion of this problem in his response to Tobold's post here: Fixing WoW's Progression Problem. You really need to go and read it, because it's a very well thought-out piece. I'm not going to try to recreate his arguments here, but I'll summarize what he's saying for the TLDR crowd.
P0tsh0t takes a very Hobbesian view of humanity in his post and states that everyone is a "self-interested asshat" at heart, and that WoW's system of loot distribution only encourages these tendencies. He argues that the problem with the system is that it promotes collective work for uncertain individual rewards. You could work for weeks or months every day and not get the item you need. Even when it drops, the nature of the system is such that you might lose the roll to someone who is on their first run. You need to do a substantial amount of work for each "pull of the slot machine," and there's always the same chance that what you need will drop.
Since drops are straight fixed percentage chances and the class make-up of a raid is rarely balanced (especially with some classes rolling on "off-class" items), the raid group is unlikely to progress at an even pace. Some players will get everything they need very quickly, while others will have to wait forever for their drops. This results in the players who have everything they need getting bored at having to run the same "useless" content over and over again, and eventually they leave for a guild that's further along in the overall progression. Everyone is bored of the content, and for some players, the "game" of getting better gear has come to a complete standstill.
P0tsh0t suggests that you could fix this by expanding WoW's system of badge loot to everything in the game, similar to the PvP honor system. Put in X amount of time, get X amount of incremental reward towards your items. This system isn't without problems either, though. For starters, it's not nearly as exciting as the random drop system (as explained in this article which Tobold pointed out in P0tsh0t's comments). Instead of having the chance at the item you need every time, you can calculate exactly how many weeks of raiding you'll need to do to get your items. It boils down to nothing more than a boring faction grind once you learn the fights.
Ironically, that system of time spent versus rewards gained is exactly what DKP systems attempt to simulate (with mixed results). DKP systems seem like they combine the best of both worlds: You still have the thrill of random drops, but the gear is distributed fairly evenly based on personal effort. What's funny is that loot distribution systems have probably been the cause of more drama than anything else, in aggregate. Besides, it still doesn't fix the original problem of some people getting geared up faster than others. You can only hand out what drops, after all, and you're not going to shard something people can use. If the random number generator gives you nothing but plate for weeks, then your tanks are going to be totally geared out while everyone else is still sitting around in sub-par gear (what can you do?). You still have to deal with the temptation of guild-hopping in that case, despite your best efforts to avoid it.
So clearly, nothing we've suggested yet would be able to fix the problem while keeping the players happy and having fun. What's a designer to do? Tobold has a follow-up post with some more interesting ideas that are worth looking at. Unfortunately, the reputation-related suggestions he makes are confusing and unintuitive, especially for someone who's brand new to the raiding scene or only plays the game casually. His ultimate point is a good one, however: "World of Warcraft has made it far too easy to screw your guild for selfish reasons, by giving you absolute ownership of the epics you only got through your guild. Some system that forces people to select their friends more carefully and encourages them to stick together would do wonders to the social cohesion of WoW."
A good sentiment, and one I agree with whole-heartedly. The game provides no motivation for players to stick together. The only reason why many guilds form is to get loot together, and the social cohesion comes later (if it ever comes at all). Why are we playing social games where we don't even know or particularly like the people we're playing with? When did personal character advancement and flexing your e-peen because of the shiny epics you possess become more important than having fun and building lasting friendships with like-minded players?
Most importantly, what can we really do to fix it in a way that keeps things fun and interesting?