TCP and UDP are the transport layer protocols:
TCP: Connection-oriented. Guarantees delivery, ordering, and error checking. Three-way handshake to establish. Used for HTTP, database connections, file transfers.
UDP: Connectionless. Fire and forget. No delivery guarantee. Much faster. Used for video streaming, DNS queries, gaming.
When to use UDP: When speed matters more than reliability. Lost packets are acceptable. Real-time applications.
When to use TCP: When you can't lose data. Order matters. Most web applications.