> It reduces the likelihood of accidentally using an assignment statement (a = 1) instead of an equality statement (a == 1)
Or it increases the likelyhood of making a mistake when you have (var1 == var2), and no amount of rearranging the code will save you.
Plus, a lot of people find such code to be highly unreadable.
Further, operand swapping zealots also extend this to the relational operators as well (<, > etc), where there is absolutely no value in doing so. I've seen people introduce BUGS into working code because they made a mess of it.
Most modern compilers will diagnose use of = in an if statement right off the bat, without having to mess with the code at all. And this includes the important edge case where rearranging fails.
http://c-faq.com/style/revtest.html
It's from a time long ago when compilers only had error messages, and blindly generated code so long as it was syntactically correct.
If you're still using such a compiler, consider upgrading.