An instrumented service (https://prometheus.io/docs/practices/instrumentation/) provides more detailed metrics then what we can scrape from exporters (https://prometheus.io/docs/instrumenting/exporters/). The ability to add all the metrics we might need, opens the doors that are often closed by exporters. That does not mean that they are any less useful but that we need to think of the nature of the resource we are observing.
Hardware metrics should be scraped from exporters. After all, we cannot instrument CPU. Third-party services are another good example of a use-case where exporters are often a better option. If we use a database, we should look for an exporter that fetches metrics from it and transforms them into the Prometheus-friendly format. The same goes for proxies, gateways, and just about almost any other service that...