I've just started using Miranda IM, an open source multi-protocol instant messaging program for Windows. When I tried it in the past it seemed minimalistic, ugly, inconvenient and lacking in features I needed (such as MSN offline messages). It only seemed to be useful for machines with a slow CPU and/or little memory. Now I gave it another try and I'm starting to like it.
The program is somewhat unusual in that it only implements minimal functionality and plugins are needed for many things. Because of this it is very disappointing initially. If I want to auto-connect when I run it, I need StartupStatus. If I want it to reconnect if a connection is lost I need KeepStatus. The default history viewer sucks, so I needed History++. In order to add emoticons I installed SmileyAdd. The default contact list and message windows are very basic so I installed Modern Contact List and Scriver. Then there's Updater to hopefully keep all of this up to date.
Because of all these plugins coming from many sources there are issues. I had to get a version of Modern Contact List from elsewhere because the one from the official site caused a crash when I clicked on the status bar. With Scriver I got an ANSI version when I should have gotten a unicode version. After installing plugins there are very many options. Overall, setting up the program is a lot of work, probably too much for many people. Other applications are generally far simpler and quicker to install.
After all this it seems like Miranda is worth it. Nowadays it does support MSN offline messages. Even custom emoticons are supported. There's also JGmail which supports Gmail notifications through Google Talk using Google's Jabber' extensions. Plus even with everything, Miranda isn't bloated, and it can do a lot more.