With flags, new functionality can be deployed to production switched off, enabled for a small group, measured and then rolled out widely — or turned off in seconds if something breaks. Martin Fowler describes them as a way to change system behaviour without changing code.
Flags have a cost: they're technical loans that need cleaning up once the launch is done. Good hygiene is giving every flag an owner and an expiry date.