If the TCP checksum is corrupted, then it will not match the TCP pseudo header and payload. There should only be one checksum that matches the pseudo header and payload, but there are multiple TCP pseudo header and payload combinations that will resolve to the same checksum. It is a one-way function.
There is no completely reliable way to communicate over a network. Even if a second copy of the payload is used as a checksum, it is possible that both copies get corrupted in exactly the same way. The odds of that are very low, but that greatly increases the number of bits sent, impacting the throughput.
What the checksum does is gives you a good chance that your data are not corrupt, and it is very small and quickly, easily calculated.
What TCP reliability really means is that the data are guaranteed to be delivered, and in order, to the application. This is accomplished by handshaking and acknowledgements. Contrast this to UDP, an unreliable protocol, that gives no such guarantee, not even that the data will even reach the destination.