Reasoning about Global Scope

Is there any documented (even official) mindful conceptual reasoning about the usage of the global pkgs scope?

I was stumbling over this:

(without any ancillary prefix unlike in fetch* or build*)

I think global scope is a bad concept in every aspect. But are there at least rules?