First of all, you need a Jabber/XMPP client. The most popular ones are:
Otherwise, the next step is to create a new account. With most servers this has to be done using the client. When you configure a new account in your client, it will give you the option to register it on the server.
Here are some servers you can choose from:
For more servers, visit this page: List of Jabber/XMPP servers.
After logging in, your roster (or contact list) probably is quite empty - now it's time to either add your friends if they already have got some Jabber/XMPP account, or - if not - convince them to give Jabber/XMPP a try :).
When you've got some contacts to add, search for some “Add contact” menu entry or have another look at one of the tutorials (Gajim, Psi). When you add a contact, you (and your friend) might be asked if you want to authorize each other/send “presence information”. In most cases, you can simply click “Allow” - then your friend will see when you are online and the other way round. So this authorization basically means allowing your friend to see, which status you have set, i.e. “Online”/Connected, “Available”, “Away”, Disconnected etc. Note: Your contacts don't need to be on the same server you are using. They can have an account with another provider. They even could have their own server! Now you can send messages to your contacts. They even don't need to be connected for that, you can send the message and if the recipient is offline, the message will be stored on the server and delivered when he/she become connected.
Other than sending messages, you can now also:
Two chatrooms to start with would be xmpp:email@example.com (for discussion about the Open Discussion Day) and xmpp:firstname.lastname@example.org (for general talk about Jabber/XMPP) ;). There are many more existing chatrooms; if you need assistance in finding more just join one of these two rooms.