The difference is that TCP is responsible for the data delivery of a packet and IP is responsible for the logical addressing.
IP obtains the address and TCP guarantees delivery of data to that address.