Currently we recommend Gaim 1.5 and Adium X to users for use with MIT Chat.  Here is a review of XMPP desktop clients currently under active development.  I've restricted my attention to open-source clients, with the exception of iChat.

Pidgin

Pidgin is the code successor of Gaim, whose name had to be changed due to a trademark dispute with AOL.  Pidgin is a multi-protocol client with support for all the major commercial IM protocols as well as XMPP.  Pidgin's UI has been revamped somewhat relative to Gaim; the most notable difference is the removal of the per-protocol icons in the buddy list.

Pidgin also contains a terminal client called Finch.  Finch is a little odd from a terminal user's perspective because it's basically a port of the graphical client to ncurses, but it could be useful in a pinch.  It has a non-trivial learning curve.

Implemented in: C and gtk

Available for: Linux, Windows

Notable features: Chatroom configuration, Kerberos single sign-on support, commercial IM protocol support

Notable bugs or issues: Prior to release 2.1.1, Pidgin does not handle multi-value lists in chatroom configuration properly.  Pidgin's single sign-on support is not build by default, is not present in the Windows builds, and does not work with our Openfire server due to a server bug.  It can be made to work with a one-line code change and a custom build to turn it on.

Adium X

Adium X is an OS X client based on the same library as Pidgin uses.  It supports the same protocols and most of the same features.

Implemented in: Objective C and Cocoa

Available for: OS X

Notable features: Commercial IM protocol support

Notable bugs or issues: Single sign-on support is not available in the default builds, but can possibly be made to work with a custom build as with Pidgin.  Adium does not support chatroom configuration.

iChat

iChat is the native chat client shipped with OS X.

Implemented in: (Unknown; proprietary code base)

Available for: OS X

Notable features: Commercial IM protocol support (AIM only), video/voice support

Notable bugs or issues: Antiquated authentication support.  Complains that the user is about to authenticate with a plain-text password, even though the password is being sent over SSL.  This is possibly due to the self-signed certificate used by jabber.mit.edu.  Does not support chatroom configuration.  Video/voice support uses a nonstandard protocol and will only work with other iChat users (which isn't a big limitation at the moment since very few other clients have any video/voice support).

Spark

Spark is an XMPP-only client distributed by Jive Software, the same company that distributes our Openfire server.

Implemented in: Java

Available for: Windows, OS X, Linux

Notable features: Kerberos single-sign on support, chatroom configuration, SIP phone support

Notable bugs or issues: Does not handle multi-value list fields properly in chatrooom configuration; this has been reported upstream.  SIP phone client support most likely does not work with our infrastructure at this time; we are working with Jive to close the gap.  From a longer-term perspective, Jive is shifting resources to their Flash-based client (not considered in this review), so continued maintenance of the Java-based Spark client may become an issue.

Psi

Psi is a somewhat popular XMPP-only client.

Implemented in: C++, Qt

Available for: Windows, OS X, Linux

Notable features: none

Notable bugs or issues: Antiquated authentication support.  Must check "allow plaintext authentication" to connect to MIT servers even though authentication happens over SSL.  Does not support chatroom configuration.

Gajim

Gajim is an XMPP-only client.

Implemented in: Python, PyGTK

Available for: Windows, Linux; bold users may be able to get it to work on OS X

Notable features: Chatroom configuration, privacy lists

Coccinella

Coccinella is an XMPP-only client.

Implemented in: Tcl, Tk

Available for: Windows, OS X, Linux

Notable features: Chatroom configuration, privacy lists, shared whiteboards, VOIP (untested at MIT)