(I'll only talk vaguely. I don't think reading this will make you enjoy the show less, but some might consider this post to contain mild spoilers. Consider yourself warned. I just finished Season 2. No spoilers from you either.)
It really feels like TV shows and movies have a contract with the audience. Especially in a morally-charged show like Dexter. (quick recap: our hero is a serial killer named Dexter. He's got these uncontrollable urges to kill, but he channels them into killing only murderers. He's also a cop.) Before any episode, I know that Dexter will not get killed, and I know that he will not get caught, and I know that he will not do anything ethically questionable (if you're okay with the premise in the first place).
I guess this comes from three places:
1. I know there are future episodes that I haven't seen yet, so the show can't end.
2. They go over the top to explain the "code" that Dexter follows. It seems like a pretty okay code ("only kill murderers") and he adheres to it ardently, so we're more comfortable accepting him as the hero.
I don't know what source 3 is, but I feel like there is something preventing the creators of the show from ever turning him into a villain, or even an ethically-questionable mostly-hero, or getting him caught by the FBI, or whatever. And I'd feel cheated if they did. Weird. I wonder if it's cultural, as we in America love a happy ending. And I wonder if anyone's consciously pandering to me. But I do like it.