The only point of those permissions is to determine whether the user has access to the plugins’ sections, so it would be pretty pointless to show the permissions for plugins that don’t have sections.
The confusion here is probably just in the wording of the permissions. “Access [Plugin]” isn’t very clear on which aspect of the plugin you’re granting access to. So maybe we should change that to “Access [Plugin]’s CP section” or something.
If you have a plugin that offers functionality that warrants user permissions, register your own custom user permissions using the registerUserPermissions hook, and verify that the user has those permissions using craft()->userSession->checkPermission().