I have replaced all my h:commandButton tags in my application with a4j:commandButton even for opening new pages. This gave rise to unpredictable and undesirable side effects (one of which jsfunit cannot open new pages, it just hangs).

Are there any comments or thoughts that anyone would care to share on using a4j:commandButton in place of h:commandButton even when it is not mandated by requirements? It is a bad practice? Why?