ICQ was practically the first instant messaging program available for free download from their website, which allowed ICQ users to send messages in 'real time' to other ICQ users, allowing for more fluid conversations than are possible using email.
ICQ messaging works by connecting to the ICQ network every time the user goes online, and then alerts everyone who has that users UIN1 in their contact list that their friend is online; though it is possible to go online in 'privacy' mode, which hides the fact that you're online to everyone but those you've specifically allowed to see you.
Once you've seen that a friend is online, it is possible to send them short messages, URLs2 and even send files. Possibly the most popular use, however, is that ICQ allows you to initiate a real-time chat with one or more other users. The advantages of this over IRC3 are that you can quickly see if friends are about, rather than having to visit a specified channel to see if they're online; that it is transferred in real-time, rather than buffering each line, and sending only when you press return; and, since an ICQ session makes a direct connection, it should be faster and suffer less from Internet traffic.
One of the biggest points in favour of ICQ is that it has a very large base of users, and in fact it's more than likely that people you already chat to by email have and use ICQ. With new messaging clients offering new levels of inter-operability (particularly since AOL bought Mirabilis, the creators of ICQ), it is becoming possible to talk to ICQ users with various other clients. The fact that there are many clone programs, which allow interaction with ICQ for a variety of less used operating systems, as well as a Java version, which is platform independent, means that the user base can potentially be very wide indeed. Wrangles, however, between AOL and Microsoft over particular clients have yet to be sorted out, and it may be a while yet before full inter-operability is possible.