I'd say this also depends on the number of menu/icon bar/... entries that have to be distinguished. If there are only 5 options, like new/open/save/settings/help, plain icons are fine. If you are making a very complex application and there are 50 options, text is absolutely necessary. The alternative is me hovering over each icon and waiting for the tooltip hover text, status line help or (worst of all) using the context-help button.
It also depends on how common and recognizable your icons and functions are. If you are doing new/open/save/settings/help, and the icons are resembling the usual standards everyone is used to, fine. If you either draw your own icons, or your functions are frobnicate/somnambulate/fart/discombombulate/deflagrate, then plain icons are insufficient, you need text labels as well.
It also depends on how common and recognizable your icons and functions are. If you are doing new/open/save/settings/help, and the icons are resembling the usual standards everyone is used to, fine. If you either draw your own icons, or your functions are frobnicate/somnambulate/fart/discombombulate/deflagrate, then plain icons are insufficient, you need text labels as well.