Of course, it is explicitly allowed in the JLS, which may be giving some people it's a good idea. But it' a case where Java's creators were trying to emulate a then-common idiom in C, and there's not really any need for it now.
I agree with @bear that it (if (false)) has no place in production quality code, but I use it a lot while debugging.
Specifically to remove a big wad of code for testing and problem isolation.
It is equivalent to /* .... */
but when the block of code you are trying go comment out has comments, something the pairing doesn't work as you want, so you
can't just put a /* */ around a big wad of code and comments.