Or control systems (which is remarkably similar to game programming, really). Basically anything that needs to model on control a system which changes state over time. Sometimes it gets a bit too much, though, and people start seeing every task as a nail for a state-machine hammer.
Any such state model is not the actual thing it models (which is almost always stateless continuous time) therefore extremely annoying to work with. Also a source of bugs and concurrency issues.