Rolling back a whole deploy because one new feature misbehaves is slow and risky. A feature flag is a runtime switch, so code can be deployed but turned on only for staff, 1% of users, or everyone, and turned off in seconds. Use it for risky features, gradual rollouts, A/B tests and merging unfinished work to main. Remove release flags once a feature is fully live, and remember a flag cannot undo a database migration that dropped a column.