It lets you change the behavior of a class when the state changes.
Wikipedia says:
The state pattern is a behavioral software design pattern that allows an object to alter its behavior when its internal state changes. This pattern is close to the concept of finite-state machines. The state pattern can be interpreted as a strategy pattern, which is able to switch a strategy through invocations of methods defined in the pattern’s interface.
Read more: https://medium.com/dots-and-spaces/state-design-pattern-c675390a8284