I don't use it every single time, but I do think it is a "must have".
One of the beauties of EJB 3 is that it's much easier to get basic applications running with minimal boiler plate and configuration. On that level, there is less of a need for a verifier.
But one of the best features of EJB 3 is its backward compatability, and the ability to "take control" over the easy to use "configuration by convention" aspects. On top of that, you get to selectively apply that kind of configuration to you application as you need it. You don't have to completely give up the ease of use features when you want to customize a small part of the deploy.
That said, all of that ease of use comes at the price of assumptions made by the container during deployment. Now, all of those assumptions may well be documented, but when you've been deploying an app for 3 months and "something changed" and it "suddenly doesn't work", those assumptions are most likely not on your radar.
Having something like the verifier to expose those assumptions to the user, and point out the decisions it's making is very helpful compared to silently doing it's business and then failing with some nonsense error message.
That said, I only run it for debugging purposes after I encounter an error, as I find it adds quite a bit to the deploy time.
The "simplicity" and "man behind the curtain" nature of modern EJB I think makes something like the verifier essential.
[Message sent by forum member 'whartung' (whartung)]
http://forums.java.net/jive/thread.jspa?messageID=251026