Deferring offscreen images used to mean an IntersectionObserver, a data attribute and a library. It is now an attribute the browser understands.
<img src="/photo.jpg" width="800" height="600" loading="lazy" alt="">
<iframe src="/map" loading="lazy"></iframe>
<!-- and the ones it must NOT go on -->
<!-- anything above the fold: it DELAYS the LCP image -->
<!-- a logo, a hero, the first product photo -->
<!-- loading="eager" is the explicit opposite -->
Applying it to every image with a blanket filter is the mistake, and it makes the Largest Contentful Paint worse rather than better — the browser now waits to discover the hero image instead of fetching it immediately. The distance at which loading starts differs per engine and per connection speed, so it is a hint rather than a threshold you can rely on. Safari did not enable it by default until 2021, which is a reason to keep the observer for anything where the saving actually matters.