Essentially because require tons of fragile boilerplate code to work and it's mostly designed with web principle in mind, not desktop one.
You essentially can't found a QML GUI that not exhibit tons of error, from commercial one like TeamViewer to Kde/Plasma. It's surely more flexible than classic widgets but it's flexibility is not designed in a manageable way.
> require tons of fragile boilerplate code to work
Well yeah, you need to implement the properties and data models in C++ and export them - if you are doing it right that is. But the UI code is very quick and easy to write in return!
> it's mostly designed with web principle in mind, not desktop one
Not mainly desktop, true - it is designed mainly for touchscreens, mobile or embedded. It is easy to use exactly because it's not a web technology bent for user interfaces.
> exhibit tons of error
Not for the things I've been working on, which includes KDE / Plasma and many commercial applications.
You essentially can't found a QML GUI that not exhibit tons of error, from commercial one like TeamViewer to Kde/Plasma. It's surely more flexible than classic widgets but it's flexibility is not designed in a manageable way.