If the coordinator goes down, the system makes no progress.
If the coordinator sends inconsistent commands (e.g., commit to one resource and abort to another), it's not serving its purpose.
So in a system using two phase commit, your availability is limited by the availability of the coordinator.
If the coordinator is a single server, you have a single point of failure in a distributed system.
If you try using multiple servers to increase the availability of the coordinator, you risk sending inconsistent commands -- unless you implement a consensus system within the coordinator.
Paxos and Raft let you combine the availability of multiple servers while still letting them behave consistently. (This is the "consensus problem", and correctly solving it is notoriously tricky).
EDIT: found it! https://lamport.azurewebsites.net/video/consensus-on-transac...
i am being a bit hand-wavey here because what the paper is talking about is an application of paxos to generate a new algorithm (paxos commit) that devolves to 2pc.
edit: Looking at the paper, it looks like the tradeoff is increased amount of coordination needed.
"The Two-Phase Commit protocol is thus the degenerate case of the Paxos Commit algorithm with a single acceptor."
I suppose in Spanner, having more than one acceptor is redudant since each shard is a Paxos group anyways.
Raft/Paxos is to make sure majority of the replica for a partition have the latest version of the data and that you can keep writing even if minority of nodes in that partition are unavailable. while still giving guarantee that no write get lost and all read reflect the most recent write.
While 2PC is to write 2 records atomically when the 2 record are located on 2 different partitions.