The role hierarchy is there, but as it basically cascades permissions, and module developers often don't understand or abide by it, it can be difficult to implement consistently. The core modules are generally good, but you have to test all third party modules and see if they suit.
You basically have Host, Administrator, Page Editor, and Module Editor. only the Administrator has a ready-made role. You have to create your own for the others - and the host role is not available at all to be assigned for content editing.
Each higher access level has all the permissions of the level down. This means that all page editors always have module edit permissions as well. Some modules also provide another level or two below Module editor. For example, here in the forums there are additional levels for posting and moderating.
What you need to do specifically, is create a role called something like Content Manager, then add that role to a user who does not also belong to roles that have higher levels of access. Then, in the module settings for a given module, tick the box to give Edit permissions to the Content Manager role. That user will then be able to edit content in that module without having access to module or page settings.
Where this fails is when module developers place vital content management functions inside the module settings. Check all module purchases for the ability to be fully content-managed by module editors.
Rob