wlroots is generally highly regarded in the Wayland community, both in terms of technical design and code quality. There's a reason that every Wayland project which started since wlroots has used wlroots, and those who didn't at first eventually rewrote their code to use wlroots.
I get the sense that most adopted wlroots because Wayland is a complex protocol. There's no alternative to wlroots so part of the reason everybody uses it is because there's no choice if you don't want to start from nothing.
Right, but that still means that getting to a point most end-users would consider 'usable' is quite complex. Especially because the documentation around these things can be lacking.
P.S. I like Wayland and use it everywhere for the record.
There's been some discussion regarding mutter, but kwin seems to be happy with their own implementation for now. Both projects pre-date wlroots and had already invested a lot in it when wlroots came on the scene.