The effect is really an amazingly well working separation of concerns. The biggest and simplest reason is that when you can wrap your head around QML, it takes no time at all to write a good UI.
So, the goal changes from having a complicated UI that has to work well on 5 different form-factors to instead have up to 5 different UI layers to work best on those form-factors. You really can write a good looking UI in a fraction of the time compared to a QWidget approach.
Most of QML is based on core Qt/QObject concepts. A binding is just a combination of a signal, getter and maybe setter. Just to state again that this is just a extension of the direction Qt had been going in for some time already.
See for a simple overview; http://www.youtube.com/watch?v=_6_F6Kpjd-Q
ps. I didn't "get" it until I took part in a kdab course. Its really not that trivial to wrap your head around ;)