DXMPP creates a themeable browser chat client for an XMPP server.
At its core, it uses the Strophe library to connect via long AJAX pulls (aka Comet) to an XMPP server. Users are automatically registered and associated w/ Drupal users, and it also automatically synchronizes User Relationships.
After enabling and configuring your XMPP server, you'll also need to copy the Strophe library somewhere in your /sites/all/libraries folder. The module will automatically discover its location.
Look here for more helpful links and documentation for the set-up and configuration, which can be difficult at best, especially when you're first starting out with XMPP.
You may also consider joining the Drupal XMPP group.
Why not XMPP Framework?
Firstly, the XMPP Framework assumes you're set up on the same server as your XMPP server, and also assumes an LDAP configuration. This did not meet our needs. Finally, the chat client bundled with that module is not themeable, at least not by Drupal.
We also considered the Strophe module, but it is not currently distributed in Drupal.org contributions. Additionally, it assumes you're set up on the same server.
You'll need to install the DRUPAL-6--2 dev branch of jQuery Update.
You'll also need to install jQuery UI, with the jQuery UI library version 1.7.2 or later.
You may optionally choose to use ImageCache to dynamically resize user icons.