As others have already said, it used to be an insult deriding someone who blindly defends anything they feel needs protection. Very subjective and usually applied when protecting other people.

Now it's an insult used to undermine anyone who may disagree with your own personal views. Even if they share similar opinions to yours, they don't agree completely and will bring up facts that may conflict with your stance, so you call them a White Knight to take away their credibility. If people think they're just blind defenders then they will not give attention to that person's opinion and instead side more with the original view. It's just a tactic now to remove someone from a discussion by claiming they just want to be the good guy and defend poor poor <Topic> so let's ignore them. Very similar to other online tactics to silence others.