I think a lot of this depends on the target audience. If it is a wide-distribution consumer application, then I like the "swimming duck" analogy, where it looks smooth and calm, above water, but is paddling like hell, underneath. That's what I strive for, myself, in my standard consumer-level apps. Many of my apps look quite "boring," but actually have a lot of moving parts, invisible to the user. Selecting a screen may result in multiple server transactions, and the user only sees a throbber for a half second. No progress report.
The other side, is that, if you are marketing to engineers, or specific types of professionals (not all "pros," though. That's a wide net), you may want to present a very complex and "raw" UI. I have done this for admin dashboards.