On the other hand, the difficult part is writing a user interface that scales up to the more experienced user. As Jeff Raskin writes in the HumaneInterface, if the user interface has two modes -- newbie and expert, for example -- then you have chosen two suboptimal designs instead of trying harder for a scalable interface that just does the job. For all levels of experience. Because the world is not just newbies and experts. We have all shades.
On the contrary, simple interfaces that do not allow you to do things "right" will make users throw off all responsability. They will act more stupid than before, because they had no choice -- they weren't allowed to learn, they were expected to just pay the money and "use" the interface, so later they don't feel like they have to think about it. They don't expect it.
Now some may say that this is true -- your mom just wants to read mail, so the mail interface should be simple. That is true. But that doesn't mean she should just be ignorant of how mail works. She will have problems setting up POP3 and SMTP, understanding inboxes and outboxes, blind carbon copies and what not.
And the truth is, in real life, things are similar. If you buy a toaster, you know about electricity, and heat, and you care for your stuff. No toasting in the bathtub. No toasting for your two-year old kid. The same is true for the car. You know how gas works, how windows are cleaned, how to give it basic care. Eventhough you just want to get from A to B, you know lots of things about your car.
So the assumption that a simple user interface will do is misleading. It might satisfy some people some of the time. But it will aggravate others, and it will prevent your users from growing up and learning more. And it is not true that people just don't want to learn more. You just need to give them a well-designed interface. One that scales up. That protects you from faults. A HumaneInterface.