I've noticed that (here, anyway) a lot of fans seem to have severe opinions of Snape. Either they hate him, or they love him and he's the best character ever. I don't see many who have a mixed opinion of him, so I'm going to try to explain mine.
I think that, while Snape was extremely brave spying on Voldemort and the Death Eaters for many years - and I can't imagine how hard that would have been - there are also many bad points about him.
+ I do pity him his childhood. Parental breakup and them fighting all the time, being poor, being picked on and isolated. Poor him. Unlike others though, I don't accept this as any excuse. One of the main messages of the series is that choices make someone who they are.
+Again, I pity him on how he was bullied as a teenager.
- He called Lily a mudblood. Even using that word is horrendous.
- He became a Death Eater. He chose to become a Death Eater. Although we don't see any of those years or hear any description of them, we can imagine the sort of crimes he committed during those years.
+I do see the incredible romance of the idea of him loving Lily all those years.
+He changed sides out of love for Lily and regret over his contribution to her death.
-When he first asked Dumbledore to protect Lily, it was only her. He didn't seem to think or care of the pain she'd suffer if she'd lose her son and husband but survive.
+After Voldemort's return, he went back to spy without hesitation. Even with the increased risk.
-The way he treated some of his students, e.g. Neville. The way he favoured the Slytherins. Compare that to McGonagall's behaviour. She's tight but fair on everyone. I don't buy the excuse that he needed to act that way to maintain his cover - he was doing it for years before Voldemort's return, and I don't particularly think Voldemort'd care how some Hogwarts students were treated. He could even say he had to be fair to stop Dumbledore from growing suspicious!
Throughout most of the series, I did believe Snape was a good guy. I couldn't believe that Dumbledore would trust him blindly without reason, even if we couldn't know that reason. I really didn't guess it was for Lily though. And I was completely thrown by the end of the sixth book.