I think the idea was that you could run extra checks by in a QA environment without bearing the runtime cost of all the if (QA) tests in your production code.
No, I've never used it. Our company style guide discourages it because even in QA it would be too easy for some config to get lost/forgotten and give unexpected behavior. What if you're silently skipping asserts during your CI smoke tests because the jvm flag was missed, but now you think you've got the extra protection of those asserts?