I am not referring to it being a drop-in replacement. I'm referring to the fact that there are multiple supposedly-interoperable-but-not-really non-drop-in replacements is the problem. And it does affect the end user if devs find it difficult to adopt (as many do).
Wayland is designed for ease of development for wayland designers. "We're just a protocol, the coding is left to anyone else" is the easiest way to write code. Because they decided not to write any at all.
"these new cars have a teeny tiny fuel tank with a tiny range! They used to have a bigger tank!"
"Drive an old car"
In this case the new car is objectively inferior, and I can't buy a new old car anymore.
When something complains about very real problems due to missing functionality, the proper answer isn't "fuck you, use the old stuff, or stop yearning for the functionality that te intentionally crippled"