For awhile, Dexter was my favorite show on TV. If it had maintained quality, I might have rated it as superior to Breaking Bad or the Wire. Unfortunately, the show was uneven.
I think one problem it had right from the start is an inability to capitalize on season ending cliffhangers. The show LOVED to leave you with a season ending cliffhanger that had me absolutely chomping at the bit waiting for the next season. But the cliffhanger was usually resolved in one episode or sometimes just a single scene in the following season opener.
Season 8 was a mess from start to finish, but the ending was particularly awful. Season 5 and 6 were terrible, and I consider season 5 to be the first season where I actually started to notice the show's decline. But I am going to agree with another answerer that season 7 was actually pretty good. Sort of an island of not sucking in a sea of sucking.
Season 3 with the D.A. was meh.
But when this show was ON it was OUTSTANDING. Dex and Deb were awesome, Battista was awesome, Doakes was awesome. Dex's abused girlfriend (whose name I oddly can't remember) was great. Great characters. LaGuerta was not so good, and the white guy that supplanted Doakes in the cast after his death was entirely forgettable.
I think the show REALLY hurt itself killing Doakes off. Dexter NEEDED someone to be on his heels. He needed to be outsmarting someone. Once the show lost that, it lost alot of tension. Only the villains created it which meant that if a villain was weak (like the D.A. from 3 or the religious guy), the entire show fizzled with him.
When Doakes was killed, they should have either had LaGuerta or SOMEONE start getting close to catching Dex. Deb in particular because if Deb was tracking Dex's clues, Dex clearly can't kill her to protect himself, so she can just be RIGHT on his heels while he tries to cover things up to stay a step ahead of her. it would simultaneously give her more weight AND create tension the show needed even if a villain wasn't working.