As has been noted, some of the X namespaces have cousins in the IQ space—autoupdate, conference, roster, and oob. If you're still confused about which to use where, there's a rule of thumb about context: The IQ namespaces generally are used to qualify a conversation that revolves around whatever the namespace represents, while the X namespaces apply more to one-off, ad-hoc, information-laden messages.
For example, the jabber:iq:conference namespace qualifies the much of the content of a conversation between a user and the conferencing service regarding entry to a specific room. The jabber:x:conference namespace is used to provide context and meaning to a pointer to a room.
Likewise, the jabber:x:oob namespace qualifies a pointer to some piece of information that is out of band, where as the jabber:iq:oob namespace provides context to a negotiation that leads to the usage of that external bandwidth.