It’s always present and cannot be hidden by app developers, and so there’s no reason to not populate it, and thus the menubar serves as a consistently available master index of the program’s functions. That alone makes it invaluable.
It’s always present and cannot be hidden by app developers, and so there’s no reason to not populate it, and thus the menubar serves as a consistently available master index of the program’s functions. That alone makes it invaluable.
There’s incentive for the menu bar to be properly populated with all the functions that a program offers. Mac users expect it.
Compare with non-standard Mac apps (mainly Electron apps or ports from other OS), modern Windows apps, and many Linux apps where the menu bar is often a second class citizen or completely absent, leaving you to the whims of the developer rather than enjoying conformance to a system-wide standard.
Mind you, app-defined command palettes can be better than a global one because they can provide more information and context and augment it with other widgets as appropriate. The best command palettes are not just a searchable version of the menu, they add more.
The app-defined palette enables more rich functionality as you’ve mentioned, while the system-owned global menu provides a consistent way to see everything an app is capable of without hunting and pecking through the palette. The menu also serves as a unified API for assistive and automation technology to interact with software and allows users to choose how the menus are displayed (don’t like a top-aligned menubar? Cool, your desktop can present it as window attached menus, a pie menu, or NeXT style floating menus or anything else you can imagine).