, evildictait​or wrote

*snip*

A UI's key purpose is to expose internal functionality to the user. If the user knows that there is a feature in the product and cannot find out how to invoke it, the UI has failed.

It is all very well to say that the UI has other jobs as well - it's important to be consistent, to look good, to localize well and to avoid unexpected transitions. But fundamentally the first job of the UI is to expose functionality.

You've got it backwards. The purpose of a UI isn't to expose internal functionality, rather the purpose of the internal functionality is to enable a user experience and user goals. Note "shutdown the computer" is not really a goal in itself, but a means to some other goal.