Depends on what you're doing. On mobile, those can end up providing much faster user interactions than doing everything via canvas (which it seems is your proposed alternative).
For example, with IE on Win8, your DOM UI is actually composed of DirectComposition layers, and touch manipulations (pan, zoom, swipe, etc) are performed entirely on a separate thread from your UI+JS using DirectManipulation and a kernel feature called delegate input threads, controlling animations of the composition layers on yet another (composition) thread. You'll have a heck of a time matching that with canvas and mouse/touch/pointer events on your lone JS UI thread and the dozens of responsibilities it's signed up for.
Again, it depends a great deal on what you're doing. And it's a trade-off for sure... DOM is expensive, and if you're doing something too complicated then having panning and hit-testing on another thread doesn't help if the user ends up seeing large unpainted regions for a while, or if you make your startup time painful by trying to build a complex scene upfront. But you asked, so I answered :-)
There are also other important considerations:
1) It's easier (at least until we get some awesome UI frameworks on top of canvas, if that works out well).
2) It's compatible with older browser versions.
3) DOM layouts and controls support various accessibility features, input modalities, etc.
4) There's a huge library of tools/utilities/reusable components all designed specifically for it.
(I used IE/Win8 as an example because I'm familiar with how that works in great detail. Last I knew no other platforms were that aggressively optimized in those respects but presumably some are part way there)