mIRC differs from IM programs in more ways than one could count. First of all, IRC is a protocol made to allow large groups of people share information over the internet in a real-time manner. Various groups around the internet run 'servers' for the IRC clients (and ultimately the users) to connect to - which do all of the routing of the information. Users are then able to chat together in what is called a 'channel', or 1-on-1(almost IM style, if you are stuck on that train of thought) using a 'private message'.

IM protocols do not work in this way at all. With most IM protocols (AIM, Yahoo IM, MSN, ICQ), there are no 'public servers'. Instead, when you connect to one of these services, you first connect to a place that supplies your client program with another server to connect to that is picked based on how much usage that server is experiencing. The second server that you connect to, is based on a giant list of servers that are all run by the company controlling the IM program (AOL for AIM, Yahoo for Yahoo, M$ for MSN, and so on...), or various affiliates. These servers work in conjunction in such a way that they can share messages and certain other information with each other, so that when one user sends a message to another, the message can make it to the other user regardless of the server that they are on.

Now, one similarity between (m)IRC and most IM programs, is the support for direct connections. This just means that instead of sending messages that are relayed through a server or five(five in the case of IM :P), the messages are sent/recieved directly from your computer to your connectee's computer. Either way you go, you have to do this if you want to send binary information to each other - as no server wants to deal with the stress of 'relaying' 100MB worth of data for each user that chooses to do so :P.