Why is it that when it comes to games the topic of port forwarding often comes up but for applications such as Windows Live Messenger this is not an issue. There are however some games that do not require port forwarding. Why do some require it and others not?
Games require port forwarding only if they are the server, ie. receive data. If they are the client, they initialize the connection the server, and the router or firewall allows any communication back on the same channel. However, with certain games like RTS, all players receive data as well, and that needs to be routed.
In short: if you want to host something (expect connections from the outside) you'll need to forward the port.
It all depends whether it's necessary to act like a server (e.g. opening a port). Some games/P2P programs where a host actually needs to open a port to allow establish connections to join the game or get the files, require port forwarding because those port won't be visible from outside world. In order to combat this issue, Messengers like Windows Live Messenger allow files to be transferred through their own servers. This is possible since both the sender and the recipient already have connection established.
It has to do with P2P nature of some games. IM tools create a connection from your local machine to a central server then keep that pipe open. Some games receive data straight from another player computer and not a central server and when your router gets that request, it must know where to route it.