Well the problem with TCP is that is sends many more packets to ensure that packets get to the destination and well by the time the packets actually get there if there is an error the information is useless to the client.
The reason habbo uses TCP is because the game doesn't require split...
Many reasons. TCP was designed for all information sent to arrive at the destination and also for all packets to be in order. In most games this is not needed. This adds unnecessary overhead.