Suppose you have daily production builds. You are rolling out Feature XYZ. You would like to enable it in prod, but you would like to monitor it closely and may need to turn it off again. Feature flags allow that.
Ultimately what's being achieved is a decoupling of configuration and deployment.
Maybe I'm ranting about "misuse of feature flags", but
I don't like to pontificate about how things ought to be,
but how in my experience they actually are.
Similarly, I might just be making excuses for bad build/deploy processes. =)At my last job we relied heavily on feature flags via Launch Darkly. I will admit: it was somewhat of a band-aid for the fact that our build process was way too slow and flaky, and that we had too many teams working on an overstuffed monolith.