it doesn't recommend when to put the USE keyword globally
(/etc/portage/make.conf) and when to put the USE keyword at the
package level (/etc/portage/package.use).
Well, the wiki does somehow :
It is often preferable to set USE flags per package rather than system
wide. Use flag defaults are usually set to a sane default - carefully
consider what flags to set globally in make.conf.
And as if it wasn't enough, once again :
In any case, as much as possible, no USE flags should be set in
make.conf unless necessary, and /etc/portage/package.use should be
preferred to set USE flags on a per-package basis. Following this
advice should ease system administration in the long run.
Of course, if you know your hardware well and know it won't change, you can safely fix the state of associated flags (such as, bluetooth, bluray, dc1394, fdformat, ieee1394, iec61883, ios, lirc, numa, parport, pxeserial, scanner, serialport, smartcard, wifi, wireless) into make.conf.
As well with system-ffmpeg system-harfbuzz system-jpeg system-icu system-libevent system-libvpx system-png system-ssl system-zlib system-webp if you systematically want your packages to rely on system libraries (rather than on some package local implementation)
Or even, like me, because of some philosophy a priori : -systemd -pulseaudio ;-)
You should not worry that much anyway since definitions in package.use supersede those in make.conf.
I, for example have system-png set in my make.conf but, because of some incompatibility with firefox, set -system-png for firefox in package.use
In any case, for each package you want to install, do fire equery use <package_name>
that will list all the possible use flags for that package.
Flags that should in no way be set globally (in make.conf) are generally indicated.
best practices
Although David Z is correct about flexibility Gentoo is built with Profile Inheritance as a core design tenant, which I explain.