Why did Ethereum's transition to PoS take so long?

They have been planning to switch to PoS but it is not yet there. Probably in 2022. But why did it take so long?

(To save some people from looking it up: PoS means “proof of stake” in this context, not “piece of shit” or “point of sale”.)