Pipewire is compatible with the Pulseaudio protocol, so Pulseaudio clients work on Pipewire. In contrast, Wayland is a protocol. A Wayland-compatible compositor that also speaks something else would still be a Wayland compositor.
I think the fact that Wayland isn’t a program is a big part of the problem. The dominant Wayland compositor in use is gnome-shell, and it’s obviously extremely GNOME centric. With X11, the interaction between clients and gnome-shell was intermediated by Xorg, so, if gnome-shell wanted to support Xorg (which it did), it had to support relevant features of Xorg. Xorg supported server side decorations, so gnome-shell did too.
But gnome-shell as a Wayland compositor supports whatever set of features it likes, and clients that require additional features don’t work on GNOME, so they largely don’t get written, so there is little pressure on gnome-shell to support them. A Wayland competitor won’t help here. An alternate Wayland server that sits in front of gnome-shell might, but it would be a mess.
Ultimately the best solution would be to break GNOME’s mindshare dominance. If enough users demanded something better/different, then IT departments and sales would notice, and GNOME would need
to either catch up or get left behind.
I’ve never had any real issues with wayland. It supports high DPI, fractional scaling, and high refresh rates very well — couldn’t say the same about X!
All of my struggles with wayland were adoption. It’s a struggle to force every older electron app to use wayland via CLI flags because the authors, even big ones, haven’t bothered.
I guess there are some unsupported things — like screen control. (If you wanted to control another person’s screen over a video call, it’s unsupported in wayland.) But it also actually sandboxes a lot of things which should be (like screen control!)
Adoption would be a problem with a different system as well, unless it was fully compatible with X. Which defeats at least part of the problem wayland solves.
Just like how pipewire did all that pulseaudio was trying to achieve, and some more, while also fixing all the rough issues.
Iteration seems to be the key to perfection