It does seem an imperfect science, only useful to the extent that module authors implement it.
What inspired the question was that I'm trying to build/install perl with all the modules I need, but before doing the actual work I wanted to document it all first. Pull all the files at once, and then build/install them all one by one in the most sensible order. I thought about creating a spreadsheet listing the modules I want, and each's dependencies - but why do that work manually if there's a dynamic means. Dynamic would be more accurate.(and less work)
Looks like
this is the spec for the META.yml files. It does support a "recommended" state which is probably where those modules you mention that are only used in certain circumstances but not strict dependiences would fit.