Personally, I use IRC as a chat arena for my site.
There are many servers available, and a few places (even on these forums, if I've seen correctly) you can get affordable IRC hosting to have your own server.
If you're not familiar with IRC, you log onto a network via a client (I'll mention those later) and can choose your own nickname, then join different "channels" (Chatrooms, they start with a '#' [Pound]). There are a few key commands, usually prefixed by a "/", eg "/nick YourNameHere" and "/join #channel".
There are many clients that allow you to connect to IRC. The most popular is probably
mIRC, which you need to download and install. Running a channel, you're going to want to have something like that. You can also use Trillian, and there are versions of IRC clients for Mac and Linux (I don't have any specific examples).
You also probably do not want your users to have to download something just to chat. This is why there are (free) Java clients available. You upload the files to your site and edit one page for your server and channel details.
Personally, I use
PJIRC; however, there are many others available on Google.
Most people that frequent the web are familiar with IRC, but just in case you're not, here's the link to the
IRC Wikipedia Article.
Bruce
P.S. If you do go with a Java IRC client on your site, I recommend including detailed instructions on changing their nickname, etc on the Java applet page.
You can also create a form that integrates a little php into it, where they choose their nickname before chatting.