My view of characters will probably surprise those who know me, but here goes. Very few characters — fictional or otherwise — are pure good or pure bad. Don't get me wrong! I think that when someone breaks the law, they should be punished — both in fiction and in life. But I also think that the reason someone breaks the law can be pretty dang fascinating.
In the show, "Leverage," the team breaks laws and performs cons to get justice for people who can't find justice any other way. The Showtime series "Dexter" features a serial killer who's mission is to rid the world of really bad guys. Heck, even Fox's Dr. Gregory House is a first-class jerk, but the best doctor around.
Aren't those all bad guys we love to hate? As a mystery writer, I have spent a lot of time working on my protagonist. Cerri will appear in multiple books and I tried very hard to make her "come alive" on the page. My antagonist, on the other hand, will only appear in one book. (Murderers don't usually get an encore!) Everything about that character needs to be just as "fleshed" as it is for Cerri if the story is to survive.
And since very few people — fictional or otherwise — are all good or all bad, those villains need to be, well, likable. Just like our main characters usually have some flaw that makes
readers relate, our bad guys need to have some trait that makes them....human, don't they?
Does it matter if the wrong thing is done for the right reasons? Or should we all grab our cowboy hats in either snow white or midnight black? Life would be so much easier if that were the case, but I think most of us would have hats in some shade of grey, don't you?