A principle articulated in The Design of Everyday Things is that a label is a confession of failure. If you need to label the light switches in your house, they are arranged unintuitively, and this is especially a problem if the lights are off. The door could have a push bar/plate or a pull handle; if you need to write “push” or “pull,” you are compensating for a design that may look pretty but fails to make the use of a door obvious.
Sometimes labeling is required. There are rarely intuitive mental mappings between a bank of buttons and their functions. You label the button on the phone for hold or mute. Computer UIs are generally in this category. (Icons also count as labels.)
Within that, you can have better or worse. The arrangement of arbitrary buttons can be intuitive or meaningful. The icons can be suggestive. Aspects can be made more or less prominent as relevant. Remember to adhere to industry standards unless there is a good reason to try to re-route what people have been trained to find intuitive. Remember that you are mapping functions to the keyboard as well as the screen, and you rarely get to label the keys.
Tooltips are one of my favorite principles in UI design, one so common that I forget about it until the tooltips are not there. You have to hate a screen with forty buttons that expects you to memorize what all forty icons mean. If I mouse-over something, it should tell me what it is after a moment’s delay, ideally with even more information if I keep hovering. I should similarly be able to get information on how to interact with items and objects in the world, rather than trying to remember what key throws a grenade.
I look forward to augmented reality so that we can have tooltips in meatspace.