What problem it actually solves
CSS always knew how to reach `auto`, but it did not know how to draw the path in between.
A transition needs two interpolable values. `height: 0` and `height: auto` did not fit together well because `auto` is not a fixed number but a layout result.
That is why so many components fell back to `max-height: 999px` or runtime `scrollHeight` measurements through JavaScript. They worked, but usually with arbitrary limits or maintenance costs.
- Classic hack: `max-height` with an invented upper limit.
- JavaScript fallback: measure content and write pixels at runtime.
- Modern option: allow the browser to interpolate intrinsic keywords directly.