IRC (Internet Relay Chat) is a real-time multi-user messaging system. Users connect to an IRC server and join one or multiple channels or enter into one-on-one chats with individual users. Users type in messages (up to a few hundred characters long, I'm not sure what the actual limits are) and send them to the channel they are in. Other people in that channel then receive the messages that everyone else has sent. The server is a central point of contact for the channel and serves as a relay for the messages from each user, thus the name. Additionally, servers can be chained together, relaying their traffic back and forth. Typically, an IRC client will render the conversations in a channel as an upward scrolling list of messages in chronological order, with each message on one or several lines (depending on length) and prefixed with some username identifier and perhaps other information (such as a time stamp) depending on the individual configuration of the client.
There are many other real-time communications systems, but IRC has a few key advantages that keep it relevant even today. IRC is decentralized. There is no single company controlling IRC (in contrast to gchat or facebook chat or AIM, etc.) Anyone can set up their own server and use it however they like.
IRC's channel paradigm is very flexible and allows for real-time discussion with up to hundreds of people at once. Most other chat systems don't have similar capabilities. And though an IRC channel with hundreds of active participants can be difficult or impossible to follow, the general case tends to be that only a fraction of the people in a channel are actively chatting at any given time, with the rest either idle and not participating or merely reading.
IRC has the concept of access levels and complex channel modes. For example, users may be banned from a channel based on their IP address, or a channel may be secret (not showing up in the list of channels on the server) or private and require an invitation or a secret code to enter. A user in a channel may be an operator or administrator (capable of banning people, changing channel modes, etc.) Non-operator users in a "moderated" channel are not able to speak unless they've been given voice by an operator. These options render difficult chat situations (e.g. hundreds of people including folks who wish to be disruptive) manageable.
A typical IRC channel tends to be attached to an event or a community in some way. For example, UStream (real-time video streaming) uses IRC for real-time communication between the streamer and the viewers. The advantages listed above in terms of the ability of an IRC server to be controlled by a specific group and access and control of an IRC channel to be controlled by specific users can help the channel owners maintain as high a level of signal to noise as they desire (by kicking/banning unwanted users, using an invitation only system, moderating a channel, etc.)
IRC is often used by friends or communities as a virtual place to hang out. There's not necessarily any grand purpose to a channel other than for people of similar interests or a group of friends to talk to each other.
IRC can also be used for other purposes, especially if specialized client add-ons or fully autonomous bot-clients are used, such as file-sharing, botnet control, or gaming where messages contain commands instead of just chatter.