Use when
- A linear form, application, checkout, or setup flow has three or more meaningful steps.
- Users benefit from knowing total progress and remaining work.
- Steps have stable labels and a mostly stable order.
- Each step can report completion, current, upcoming, optional, or error status honestly.