Recs.
Updated
SpecsUpdate
Pros
Pro Robust management of channels
Many server side scripts can be implemented for Bots, and other command activated and automatic control of channels and users, and authority. It is also possible to use scripts to mute the channel for announcements, screen messages for abusive language and kicking abusive users from the channel as a punishment, or handling moderators, sub operators.
Cons
Con No way to catch up on messages that were sent while you were disconnected
Con Poor multimedia support
Sending anything besides text is not easy or intuitive and depends on the client.
You can't send files to a channel and sending files between two users requires making sure that both have dcc (or xdcc for larger files) set up and enabled in their respective clients.
There are no link previews and files aren't kept track of.
Con Assumes some level of prior knowledge
The features are not discoverable the way they are in other apps and services. You will need at least basic knowledge of IRC commands, and you will need to read through documentation of your client to find to if certain actions are possible and how to perform them.
Con Doesn't manage presence
Users have to manually set away messages or away nicks to notify other users that they are not currently available. However, there are certain server types that can be configured to automatically set a user's presence status.
Con Lacks searchable history
Beyond the client, unless you are running a special server based "BNC" or bouncer, you will have no access to history.
There is a solution to this, but it is not easy to configure or use as a side service.