TCP provides reliable, ordered delivery of data through the use of sequence numbers and acknowledgments. It accumulates data into segments and ensures delivery through retransmissions. UDP is a simpler protocol that does not ensure delivery or order, making it faster but unreliable. IP handles addressing and fragmentation of packets to accommodate networks with different maximum sizes. IPv6 was developed to support more devices, longer addresses, extension headers and simplified header processing.