XEP-0004 support is good enough for many purposes. Limitations are the following.
Forms in incoming messages are not interpreted. See each specific protocol for whether forms are accepted in that context.
“Cancel” messages are probably not consistently generated when they should be. This is partly a paradigm clash, as jabber.el doesn't use modal dialog boxes but buffers which can easily be buried.
<required/> elements are not enforced.
The field types “jid-single”, “jid-multi” and “list-multi” are not implemented, due to programmer laziness. Let us know if you need them.