There's only you and me, and we just disagree. (Okay, now sing that one in your head for the rest of the day!)
Just finished a book where the guy the protagonist was trying to clear of murder charges turned out to really have done the crime, with no mitigating circumstances. He was a stone killer who used everyone, including the protag, and deserved no sympathy at all. In addition, the nasty psychopath who we all wanted to have done the crime did a "good deed" murder as a favor at the end to help the protag get on with his love life. Was I satisfied? I'd have to say yes and no.
It was a good book. I wanted to read instead of doing what I was supposed to be doing. But the ending left me feeling like I'd gone in a circle. If the impetus of the plot was to prove the "good guy" innocent, and then if he isn't innocent, he isn't a good guy, and we could have left the whole thing alone. And the "good deed" murder was a bit too much. My understanding of psychopaths is that they have no empathy, so why would such a person kill as a service to someone else?
Of course our good guys can't be all good and our bad guys all bad. Writers work hard to make characters believable with backstory and mixed traits. We want to feel a bit sorry for the monster, a bit aggravated by the protagonist. I guess the line between good and bad exists in each reader's mind. Obviously I like my characters aligned on a continuum, with an identifiable stopping point between good and bad. In real life, I know better than to expect that, but in stories, I get to choose.