there's a difference between temporary feature flags which eventually go away and permanent ones. say you build a new feature that has some overlap with an existing feature flagged one, and you unify some of the UI for it. now you have to always check what the UI looks like with one feature flag, with both, with none. as time goes on this gets worse, and maybe 3 or more features start overlapping in some way. If you're just using feature flags for A/B tests, this is manageable, but over time it can get really messy.