When we reach for it
Any component library that more than one team will use, and any design system that has to survive its authors. The empty, loading and error states are the ones nobody remembers to check, and this is where they become visible early enough to matter.
When we would argue against it
A small application with a dozen components. Maintaining a second surface costs more than it returns at that size. It is a standing maintenance commitment, and a Storybook that has drifted from the application is worse than none because it is confidently wrong.
What it looks like in delivery
Loading, empty, error and overflow states as first-class stories, plus accessibility checks run against them in the pipeline. Stories cover the states that are awkward to reach in the running application, so a contrast or focus defect is caught at the component rather than in an audit at the end.