Basta-te ir à wikipédia que encontras tudo bem explicado!
Mas assim MUITO por alto... TCP é fiável devido á confirmação da recepção dos pacotes, e controlo de fluxo... UDP é ao contrário, o que o torna vantajoso em situações em que não te convem ter interrupções na transmissão de dados... como por exemplo num stream de uma rádio