This idea started as a suggestion for a contrib module, but it seems it'll only work if it's a core feature...

The above linked issue has more details, but the summary is that we could create a new hook that modules implement in order to determine whether they're in use or not. This would then allow a report of modules that are enabled on a site, but aren't being used (and so can be safely uninstalled, or configured so they're actually used).

For example, the core Contact module would implement this hook and return TRUE if there are no contact categories. The Taxonomy module would return TRUE when there are no vocabularies. The Link module would return TRUE when there are no Link fields.

The hard part will be getting contrib modules to implement this hook, but if/once they do, I think this'll be a really handy feature to help clean up sites.

GitHub Issue #: 
5020