To my four year old, it's all very straightforward.
There are good guys and there are bad guys. No in-betweens. Unfortunately, life is not always so clearcut and neither should be our fictional worlds.
The important thing is to make our characters believable.
I just watched an old VanDamme movie in which the protag's closest family are mafia leaders. They're portrayed as good, if not a bit dangerous, for the first parts of the movie. But there comes a time when information is needed from a "bad" guy and these leaders get the info by interrogating the dirty cop. They yell, cuss and then (brace yourself) use a power tool to torture the man and eventually kill him. (My husband, btw, totally made fun of me at that scene. Apparently I was wearing a very scared face).
After that scene, my mind could not wrap around the fact that these men were "good". Yes, they were trying to track down a killer. And yet I was thinking, can people who kill in such a ruthless, cold-blooded way be trusted as good? Could I even like them anymore and root for them?
I lost my ability to believe in those characters. The dichotomy was too strong.
So, when crafting characters, when straddling that line between what makes a person "good" and what makes them "bad", how do you maintain balance? How do you keep the believability factor?