I guess it depends on the context.
I agree with you if you are building a custom site and have control of everything. In most cases (nod to Ryan’s point), just add the CSS / JavaScript into the main combined files.
However, I’ve mostly seen the ‘only load when necessary’ advice in the context of writing plugins (that will be distributed). In that use case, I think it’s solid. There is no way you can know whether the user will be using a caching plugin or some other solution that combines files.
If I am writing a plugin that needs to add one CSS file and one JS file on a single page, then why enqueue those files on every page of the site and hope a caching plugin will take care of them. Just add them to that single page. Worst case: One page gets 2 extra HTTP requests, the rest of the site is untouched.
If I enqueue them on every page, then the worst case: is 2 extra HTTP requests on every page of the site!