This is basically flaimbait.
No, it doesn't do more harm than good. Simple.
Compiler argument? Erm, ish, maybe - don't put too much faith in the complier to save you from yourself.
"You shouldn't forget" - well duh - no of course you shouldn't meanwhile I'm tired, I've been coding all day I've had to use two different languages and sometimes, just sometimes, being human I make a mistake.
The point of this sort of behaviour is that its defensive, its not there because you expect to make mistakes any more than you have insurance because you expect to crash... but if you do its nice to be covered.
Hard to read? You're complaining that a decent programmer should have == hardwired (which makes all kind of poor assumptions) but that the self same decent programmer can't read 0 == value ??
Does no harm, has potential benefits, silly question, let others do it if they want and move on.