TCP gives you a reliable, ordered stream; UDP gives you fast, best-effort messages. TCP sets up a connection, tracks every byte, and resends lost data. It delivers bytes in order, so what you send arrives whole.
UDP just fires packets with no handshake and no retries. Packets can arrive late, out of order, or not at all. In exchange it has almost no overhead and lower latency.
Reach for TCP when correctness matters: web pages, APIs, file transfers, databases. Reach for UDP when speed beats completeness: live video, voice calls, games, DNS lookups. Losing one frame of video beats stalling the whole stream.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
The diagram below the answer is the concept . Jump to it ↓