As you have discovered: there doesn't exist a comprehensive rule set of what to do in what circumstance. And as someone who is in software development and testing for over 20yrs, I don't think we will get to that ever. There are different 'schools' or philosophies in testing with different ideas on what testing means and how it could be organised.
I see what you're trying to get at.
In my own opinion, I've found that the easiest way to understand testing is by looking at test levels and test types. For example:
System integration testing
User Acceptance testing
Operational acceptance testing
Although it doesn't use screenshots, i.e. it is not pixel-based, you could use recheck-web (disclaimer: I work for retest, the company behind the project).
recheck-web is open source and based on recheck, which maps graphical user interfaces (and more, e.g., log files) to a special data model that enables you to detect visual regressions, but also non-...