Snape: Hero or Bully?
The case for hero
Severus Snape spent his entire adult life working against the person who murdered the woman he loved, at constant risk of discovery, knowing he would probably die and never be thanked. He protected Harry Potter for years while treating him badly enough that nobody suspected his true loyalties.
His final memories, delivered to Harry in the last hours of his life, revealed a man who had been playing the longest and loneliest game in the entire story. Dumbledore himself called Snape the bravest man he knew.
The case for bully
Snape terrorised children. He reduced Neville to a stammering wreck. He mocked Hermione's appearance. He singled out Harry for cruelty from the first lesson, not because of anything Harry had done, but because Harry looked like his father.
His love for Lily Potter, while genuine, didn't extend to caring about the wellbeing of any other student. A teacher who makes a thirteen-year-old's worst fear his own face, as Neville's boggart showed, is not just strict. He's abusive.
Why both sides are right
The reason this debate never ends is that both things are true at the same time. Snape was extraordinarily brave, and he was also cruel to children who had done nothing to deserve it. The story doesn't ask you to forgive the cruelty because of the bravery, or to dismiss the bravery because of the cruelty.
What it does ask is whether a person can do terrible things and still, on balance, be on the right side. The answer the books give is yes, but at a cost, and the cost is that almost nobody mourns Snape the way they mourn Dumbledore or Fred or Lupin.
Where you land on Snape usually says something about what you value more: the outcome of a person's choices, or the way they treated the people around them every day.