Feature flags are widely used in modern software delivery to control how and when functionality is exposed to users. They allow teams to deploy code independently of releasing features, reducing the risk associated with large or tightly coupled releases. But feature flags are not limited to simple on/off switches.