The trouble is that they're hard as hell to write well, mainly because baseline humans don't come in Completely Good or Completely Evil. Trying to make every member of a group completely good or completely evil might work well if a certain tribe or nationality exists for the Good Guys to fight against, but doing this too often can get boring in a big hurry.
Evil goblins. Yawn.
Beautiful, pure-hearted elves. Ho hum.
As my tastes in fiction (and high fantasy in particular) have evolved, I've started finding the appeal in ambiguously gray characters. There's the hero who might do morally dodgy things in the pursuit of a noble goal. There's the villain who started out with the best of intentions, but couldn't stop his slide down the slippery slope of morality. Even Spider-Man realizes the temptations of having superpowers, and Darth Vader started as a good man.
Honestly, pure villains or heroes can get boring in a hurry. So you've got a white knight boy scout who always knows the right thing to do and goes around defending the innocent because that's what he does. So you've got an evil lord of evil who wants to use black magic to conquer the world because that's what he does. That might be great for simpler stories, but in complex, overarching epics, that lack of moral ambiguity gets old really quickly.
One of the grayest high fantasy series I've read recently is a Song of Ice and Fire, where you have a lot of factions working at cross purposes to get their own people on the Iron Throne, and very few of them are completely good or evil. You have innocents corrupted in the course of trying to escape horrifying events later. You have people set up as villains in early books, only to be revealed as morally conflicted and redeemable later. The only characters I can name off the top of my head who would fall squarely in the evil category are Cersei Lannister and her son Joffrey. Even then, Cersei is just ambitious and crazy and not as smart as she thinks she is, and Joffrey... well, has Cersei for a mother. And he's, like, twelve.
The best way I've noticed to avoid black-and-white morality in fiction is to get into the heads of both your heroes and your villains. Give the villain a reason for what he does besides LOL I'M EVIL. Maybe he does what he does to prevent something worse than him later on. Give the hero moral quandaries so he's not just LOL I'M THE HERO. Heck, Batman has done more than the Gotham police force to clean up crime, and even his allies (and Batman himself) sometimes question the measures he takes. Superman is the closest to a white knight that the DC universe has, but he has to worry that his superheroing might come back to harm his less-indestructible Earthling loved ones. Being completely good or completely evil should be hard.
Writing nuanced heroes and villains is a good way to add spice to your fiction and make your readers think. Your fans might side with one character or another for various reasons, but at least those reasons won't be exclusively because "he's the hero" or whatever. Writing in shades of gray rather than black and white also makes your story more interesting and enjoyable, and has a high likelihood of enticing your readers back for more.
And now, for something completely different...Still making progress in my book sales (woohoo!), but I really hope they pick up soon. I'll be at Bookseller's Row at Archon 38 this year, my first time selling stuff at a convention, so feel free to come by if you're in Collinsville, IL the weekend of October 3-5 and pick up a copy!
And my sales progress:
I'll be back next week with more ramblings and news! Follow my blog for regular updates!