me and my friend were talkin bout this the other day so thought id add my opinion... i think that though snape is not very likable he is trustworthy. just look at all the times he's redeemed himself despite being the prime suspect half the time. I respect snape's character because he's not so black and white. he's not nice but he's not evil.
i think the reason DD doesnt make him DADA is purely cause he makes a better potions teacher. remember when he covered one of their lessons when Lupin was off? he was pants.
Just found a quot from JK on this page:
"Why does Professor Dumbledore allow Professor Snape to be so nasty to the students (especially to Harry, Hermione, and Neville)?
Dumbledore believes there are all sorts of lessons in life; horrible teachers like Snape are one of them!"
i've heard that the reason dumbledore trust snape is revealed in book6 and 7. so i think there is some major thing that happened that made dumbledore trust snape. and i think snape is not a bad person. he's good to the slytherins. he's just biased. he does no harm to anyone, the most he does is to dock points with some lame reason...
It is a possibility that Snape was the 'useful spy' who tipped Dumbledore off about Voldemort being after the Potters.
The 'is he bad or isn't he?' gimmick concerning Snape is wearing rather thin however. The issue is still not resolved.
Referring the the Philosopher's Stone, Snape was not supposed to know that Quirrel was hiding Voldemort and therefore must have assumed that Quirrel was after the stone purely for personal greed. We don't know however why he was threatening Quirrel. He might have been trying to intimidate him into being loyal to Voldemort.