This is my question. If your flags are in your repo, what is functionally the difference from just having them be variables in your code somewhere.
"Feature Flags that live inside your code" - That's just variables, no?
"Feature Flags that live inside your code" - That's just variables, no?
Means you can experiment and target different cohorts with variants of your app without restarting processes everywhere.
However, this can be changed, so that not all commits/pushes are treated equally during CD. Either by using rules to ignore changes to certain sub-directories / files or through having reproducible builds and skipping the process restarting parts when the resulting artefacts between two commits haven't changed (e.g. the digest of a docker image not changing from one commit to the next).
This is often an optimisation though, and takes time/effort to put in place.