However, if I choose to use a product because it solves a problem I have for a fair price, and they add shortcuts to improve the quality of life while using it, that is likely to retain me as a user longer when new competitors inevitably arise.
It is also a good thing for accessibility of the app, so shortcuts are a good idea in general.
They just are not a good marketing bullet point. (IMO)
It was a source of endless frustration when once I was extremely used to this shortcut, I later switched to google sheets for a different project, and the shortcut didn't work the same. Google still supported both individually as they had copied excel, but the way they work on sheets is before inputting either the date or time, it would delete whatever existing value was stored in the current cell, meaning you could no longer instantly input both a date and a time to make datetimes, you instead needed two columns where before one would do.
Shortcuts increase the frequency of these kinds of friction points with your power users when they move elsewhere.
And unless you have users who login to your product every day (e.g. Twitter or replit), I doubt it matters for retention either.
One exception might be products where speed and ease of use are vitality important, such as figma.
I assume Gmail has keyboard shortcuts, but I never used them and never cared. However, when using Miro, I very quickly looked up and learned some basic keyboard shortcuts, because the constant tool switching is hell without them. With the shortcuts I can fly. I see other people at work use Miro without the shortcuts and it’s like watching someone wade through molasses, and they constantly talk about how much they hate it.
I think it can be make or break, but it depends on the app and the type of user you expect.
keyboard shortcuts will be way more essential for db saas rather than a payment/training saas for labor workers
But if you're releasing a desktop application, then you're better off setting up the infrastructure to support keyboard shortcuts now rather than later down the line.
And for the love of God, make them customizable (even as simple as a JSON file) otherwise you're always going to have frustration from users using unusual keyboard, setups, other countries, different IMEs etc.
You also have to think about your target demograph and the expected workflows around your product. Is your product designed to be used a few times a week, or is it something that needs to constantly be used and there's dozens of mouse clicks associated with every action?