Because packet switching hardware can become overrun with datagrams, TCP is needed to improve the Internet's reliability.
As most computers attached to the Internet run IP software, most also run TCP software.
Both work so well together, and are so important, the entire set of communication protocols the Internet uses is known as TCP/IP protocol suite.
TCP checks for lost datagrams.
Since there are usually multiple paths datagrams can take (``detouring around failed routers or networks that are down), they don't necessarily arrive at their destination in the right order.
TCP automatically checks incoming datagrams and puts the data back in order.
TCP also checks for duplicate datagrams and only accepts the first copy to arrive.