tcp assures the delivery of all the packets.
udp is more for streaming. it will drop packets to keep up with the stream. ( games, video, audio, etc .. ) you would use this where data loss isnt as critical as streaming the data realtime.
im sure this isnt the most scientifical explination, but this is how i understand it.