Steem is an entire ecosystem of different communities, multiple distributed or centralized applications, and the underlying Steem blockchain.
This is its strength, but also one of the points hard to grasp at first by a newcomer, especially if (s)he is not familiar with the cryptocurrency world.
Private keys and their use, or the fact that you are sole responsible for their safety, and that there is no easy way to recover your account, if you lose them, that's another aspect difficult for new people to get used to.
The Keychain browser extension, when it will be more widely used by dapps (including steemit.com), might be a way for a new user to follow a simple procedure at first, then never worry about what keys to use where. And it will most likely be safer too.
But there is one more thing niche users might find difficult to understand in the first phase.
Since HF20, but a little more actively recently, more users are onboarded by different dapps. Some of them narrow in their target audience, to such a degree that a user might be interested in that dapp alone and no other part of the Steem ecosystem, or that they are on a blockchain.
But that dapp they truly love, and use every day.
The problem is, when you ask them to go on a different dapp to perform a needed operation (like wallet operations), they won't like it. They want it to be on one platform, because they are used to the convenience.
At this point, wallet operations seem the most critical module that most niche dapps don't implement.
Should they have them? That's one option. To implement their own wallet operations and include them in their own interface seamlessly. Probably new users would prefer this option more.
The alternative would be a browser extension like Keychain, that already has wallet operations. Its advantage is you set the keys on installation, and never worry about using them again. And it won't look like you're leaving the preferred interface either.
Of course, for other interfaces, it might be about posting, commenting, upvoting, or whatever basic functionality is missing.
It all depends on what the dapp is about and if the users expect a certain functionality to be there or not.