Helps developers reliably tell when a scroll has completed (including both the scroll itself and any updates to offsets from the scroll) through event listeners. Knowing when a scroll has completed is useful for various reasons, e.g. synchronizing some logic on the snapped section, fetching stuff in a list, triggering new animations, etc. This feature greatly simplifies the logic for handling end-of-scroll effects, ensuring that they are consistent across many different input modalities. Currently, developers address this need by observing scroll events and building ad-hoc timeout algorithms.
Web developers can currently only emulate the scrollend event, but it has two major issues: 1. The event is late, usually because "end" is estimated due to a timeout determining no more scrolling is happening. Usually 100ms. 2. The event may fire prematurely, like if a user has panned with a pointer, kept their finger down, and waited still for 100ms, their emulated event will fire even though the user is clearly not done scrolling since their pointer is still down.
Explainers: https://github.com/argyleink/scrollend-explainer/blob/main/README.md