I use aim because the people I want to talk to use aim.

Functionally, aim and msn and yahoo and icq are about the same.... they all have the same basic featuresets (supports text, does it in real time, supports buddy lists, file exchange and image exchange, etc). MSN has the benefit of supporting different charsets so you can use it for non-english-language conversation (hard to have a conversation in arabic or russian over aim). But at the same time, msn has invasive microsoft style features. AIM doesn't support multi-charsets as well, so it's kind of english-centric, but it has a faster look and feel to it and is a bit less invasive. ICQ sucks, because it doesn't take advantage of windows architectural designs and so isn't multi-user friendly, at all (need write access in its directory to run it, how lame is that). But it has logging that aim doesn't (by default, although with third party apps like new deadaim and aim+ you can add that easily enough to aim). Yahoo messenger just sucks gigantic sweaty donkey balls though. It's probably not worth the code it's written in.

now .... as far as mail service goes .... all the free web-based ones pretty much suck. Tons of spam, tons of irritation, limited filtering, etc. If you want a good email provider, you've gotta either be at a university (most uni's have good mail services) or you've gotta have your own organizational or corporate email, or you've gotta own your own mailserver or know someone who does (that's what I'll be doing when I leave the university: run my own mailserver ).