You want to be able to enable features for certain customers. For example, you might want to roll out a feature to only the US or only English speaking users because you haven't internationalized it yet. Or you might want to enable it for select customers. Or all sorts of other examples.
You may also want the ability to gradually roll out a new feature over time. This lets you test in small scale and also lets you ramp up load on new backend services.
You can also schedule features to be released in advance. This helps you align releases with things like marketing or customer service training.
I only hit on a few points, but you can see it's a lot more than boolean flags.
That's not really the domain of feature flags in their typical use case. That sounds like you would need to deploy multiple versions of the app and switch between them at the load balancer level or something like that.
"We want to test modifying two lines of this header bidding library against 5% of traffic ONLY IF we bought that traffic from an Outbrain Ad, not a Facebook Ad. If revenue increases after 24 hours we'll enable it on traffic we bought from Outbrain and Facebook ads, but NOT Taboola. Oh and we only want to run it against international traffic, but only if their language setting IS NOT English."
You want to be able to enable features for certain customers. For example, you might want to roll out a feature to only the US or only English speaking users because you haven't internationalized it yet. Or you might want to enable it for select customers. Or all sorts of other examples.
You may also want the ability to gradually roll out a new feature over time. This lets you test in small scale and also lets you ramp up load on new backend services.
You can also schedule features to be released in advance. This helps you align releases with things like marketing or customer service training.
I only hit on a few points, but you can see it's a lot more than boolean flags.