I actually contribute to PipeWire development in some small aspect (reporting bugs, debugging issues), and PipeWire is far from trouble-free. The recent 0.3.41 contained a bad commit which causes PulseAudio apps (RetroArch, QEMU, Orca) to infinitely buffer audio in xrun or something (fixed in git). And PipeWire has some issues switching profiles when you plug and unplug devices, and sometimes picks the wrong speaker/headphone port(?) when rebooting and then enabling a device, and the latency algorithm has issues as well (under default settings, it takes up to 0.6 seconds to hear certain libcanberra notification sounds). And it reuses IDs exposed to PulseAudio apps, which causes race conditions (eg. crashes, incorrect stream-to-app mappings in plasmashell) in PulseAudio apps. "Write" race conditions (eg. changing app volume) are unresolvable due to the Pulse protocol, though apps can be fixed to avoid "read" race conditions by ignoring stale data from IDs which have been deleted and recreated.
I still use PipeWire because routing app audio is cool (and not possible AFAIK on PulseAudio), and I can usually avoid the bugs well enough in practice. But it's not "just f*cking works" in many cases.