UDP: Anything where you don’t care too much if you get all data always
- Tunneling/VPN (lost packets are ok – the tunneled protocol takes care of it)
- Media streaming (lost frames are ok)
- Games that don’t care if you get every update
- Local broadcast mechanisms (same application running on different machines “discovering” each other)
TCP: Almost anything where you have to get all transmitted data
- Web
- SSH, FTP, telnet
- SMTP, sending mail
- IMAP/POP, receiving mail
EDIT: I’m not going to bother explaining the differences, since you state that you already know and every other answer explains it anyway 🙂