The concept behind a faction system is just this: The choices that you make will have an impact on what happens to your character and how people treat you. Faction isn't really supposed to be a grind for favor. Faction is supposed to be an indicator on how various groups of people feel about you, based on the actions which you've performed, and how well your choices align with their goals. While proving yourself to the dwarf-lords might be an important part of the game, a good faction system will make you do more than just kill the enemies of everyone until everyone loves you. Not only should you slay the enemies of the dwarf-lords, but you should think about how killing this elf, whose people might be allied with the dwarves, will affect your standing with them. Or, consider how the necromancer guild might feel about you being allied with the dwarves. More importantly, what does that do? That's the key.
The great thing about faction systems is that they can add a layer of complexity to a game and force players to think about what they're doing. In the original EverQuest, almost every NPC in the game was tied to a number of different factions. You couldnt just kill whomever you wanted-- you had to worry about who you might piss off when you did. Those mobs you're killing might be easy to kill and great XP, but they also might have powerful friends down the line. You'll be paying later for your free lunch now.
The best example of this that I can think of are the infamous Baobob and Chanda Miller in EQ Classic. Back before EverQuest had the Kunark or Velious expansions (really, even during Kunark), the Millers were an excellent source of experience points for aspiring druids. This was back before we had fancy quests to get our levels, and you had to sit and kill things. Many druid leveling guides pointed you towards them for your middling levels. Why? Well, they were easy to kill, for one thing. Also, they were a decent source of money. What was interesting, however, was that if you chose to do this you really pissed off the denizens of Surefall Glade (the home town of Baobob and Chanda). Basically, you ruined your faction with them. This became problematic in later years when things like teleporting to Surefall Glade became important for druids. But even back then, by killing these two individuals repeatedly, you made enemies with a number of arguably important factions that you had to avoid from then on. It was a meaningful choice. Sure, it was easy money and easy levels, but most of the good residents of the whole Qeynos and Karanas area would kill you on sight after that.
I think that the plain old World of Warcraft faction system is boring as heck. Do you want this item or that one? Okay, level that faction. Did you do this quest? Okay, we like you better. Did you kill six billion Troggs? Oh good, the anti-Trogg alliance has a tabard you can wear to show everyone just how fanatic about your Trogg hatred you are. Factions are locked in, there's really no way to bring most factions down (nor would you have any reason to, really), and the few choices you can make are exceedingly yawn-worthy.
From a story perspective, consider how much more interesting it is to have factions who actually respond to your actions and act accordingly. You can do this quest to help this human, but maybe the Horde will think a little less of you after that. Maybe you do too many quests for the humans and the Horde exiles you, which opens up a line of quests that let you prove yourself to the Alliance and effectively switch sides. EverQuest 2 has something similar to this called Betrayal Quests. Some of the most interesting literary characters are those which make allies of their enemies or turn on their own people (Drizzt, anyone?). It might take forever, but a powerful Orc ally who has proven himself might be just what the Alliance needed.
What if you could ally with Illidan? Imagine if instead of choosing either Scryer or Aldor, you could go to the Black Temple and enlist in Illidan's ranks (after killing a number of both to prove you mean business, of course). Instead of raiding Black Temple, you would quest there. Maybe you'd be giving up access to the only major city in Outlands, but to reward you Illidan grants you his personal mark (extra powers like flight without a mount, maybe?). How does an instanced raid on A'Dal sound? In fact, what if the population of WoW could actually influence the story of the game based on how many people across all servers chose which side? Maybe Illidan wins the confrontation because he has so many followers, and that affects the lore for the next expansion.
Factions can be a huge benefit to the story and complexity of any game. They can really bring the choices you make to life and make you feel like what you do has an impact. Frankly, I think any game that does them well would benefit immensely from having them. But they have to be intimately woven into the game and really matter. Your standing with the various factions really has to affect what you can and can't do, and you should have to weigh your options carefully when deciding what to kill or who to run errands for. Is there a chance for you to screw yourself when things are like that? Sure. But that's an important lesson for you. Actions have consequences in real life, and they should have consequences in an interesting game too. Otherwise, you're just mindlessly killing anything that moves and exhausting every possible quest line on one character. How boring. I hope you're not going to roll an alt, because there won't be any more choices the second time through.
Factions should matter. If they do, your game is that much better for it.