Think about the apps you use — the best are usually the ones that provide a lot of power and functionality with a relatively simple user interface. It’s a obvious point, but many most apps get things wrong.
Google is a great example: the UI is about as simple as you can get, but there’s a lot of power behind the UI. Also, I think Apple generally does a good job: many of the UI functions in OS X are much simpler than their Windows counterparts, but are equally powerful. (My favorite examples: the wireless connection manager, and backup/restore).
Unfortunately, bad examples abound. My virus scanning software provides endless UI chatter about downloading the latest updates, doing scans, and providing me with countless updates about what it is doing and has already done. It’s as if the software has low self-esteem, and needs to constantly remind that it is working for me. Why can’t it just lurk in the background, “do the right thing”, and involve me only when it really needs to?
I think most developers either (a) don’t care about interaction design, and/or (b) fall into the trap of believing that “value” is driven by “visible features”. That is, the more stuff the user can see, the more the software must be worth.
But I’m encouraged, because I think the software business has matured to the point where design matters. In the early days, users were appreciative of functionality, in any form. Now, functionality abounds, and users demand it in the simplest, most usable form.