Having worked with ARM too I have to disagree. I found device trees really flexible and easy to get going.
However, I worked with Rockchip hardware so I had pretty good documentation, lots of examples, and source code for everything(for an old linux kernel, but still). This basically ensured I could do everything I wanted.
Of course, when a vendor doesn't provide documentation and example driver source this may not be so easy.