Menus are great for discoverability because they show you all the options in an organized way, but they're slow. They're excellent for rarely used commands.
Keyboard shortcuts are fast but they require memorization. They're great for something you do many times a day.
Command pallets fit in the middle. They're most perfect for the niche where you use the command often enough to remember that it exists and at least roughly know the name, but nowhere near often enough to warrant memorizing a keyboard shortcut. Especially for text editors where you're already in typing position, they're much faster than menus and not that much slower than shortcuts, and you can give access to much more commands than you can define reasonable shortcuts for.
And as you said, CLI with the precise syntax requirements is simply the worst.
Keyboard shortcuts are fast but they require memorization. They're great for something you do many times a day.
Command pallets fit in the middle. They're most perfect for the niche where you use the command often enough to remember that it exists and at least roughly know the name, but nowhere near often enough to warrant memorizing a keyboard shortcut. Especially for text editors where you're already in typing position, they're much faster than menus and not that much slower than shortcuts, and you can give access to much more commands than you can define reasonable shortcuts for.
And as you said, CLI with the precise syntax requirements is simply the worst.