The real world isn't so black and white as TV and comic books. (Incoming irony) Even The Comedian from "Watchmen" had a reason for being such a intentionally amoral douche; he refused to pretend that he, as a human, wasn't a savage at heart, so he became the perfect parody of human nature. THAT is why he was considered evil. Yet despite this, (SPOILER) when he had the chance to tell Silk Specter II that she was his bastard daughter, he didn't. He said "can't a guy talk to his...you know, friend's daughter?" to Silk Specter I instead of "can't a guy talk to his daughter?"
Besides, complex characters are more interesting. I'd rather be morally ambiguous than cut-and-dry.