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 isn't as critical as streaming the data realtime.
i'm sure this isn't the most scientifical explination, but this is how i understand it.