Case in point: say you're building a berry picking robot using computer vision. As a part of that you'll probably use an object detection system which lets your robot see the berries and know where they are. Commonly you will use a combination of losses to optimize the system, and a combination of mean average precision metrics to evaluate how good it is. But here's the issue: even the evaluation mAP (let alone loss) does not tell you how good the robot will be at picking berries. Moreover, there's no point of reference for you to tell if e.g. mAP of 80% is "good enough". And "goodness of the robot" while it can be defined as a real world metric (e.g. robot successfully picked 90% of ripe berries and only destroyed 0.5% of the plants), usually can't be formulated as a direct optimization objective. So you end up futzing with the metrics that are easier to work with, hoping and praying that your result is good in the end.
If that doesn't sound scary enough, think of autonomous driving systems. :-)