"Like due dates, flags should not be overused. I have found that selecting seven tasks works best for me: the list is manageable, providing both choice and a chance of success."
I wholeheartedly agree with everything ozengo has listed out — with the exception of the aforementioned quote.
While I agree that flags should not be abused, I personally flag a little more than seven. Like Kourosh Dini wrote in his book Creating Flow With OmniFocus, I use the flag function to denote what I want to accomplish that day and use a custom Perspective to view these said tasks.
Flags = intention.
Since my OmniFocus contains both long-term projects and one-off tasks, I typically see about 15-20 flags a day. If I don't happen to get to a flagged task that day, then my nightly review gives me the opportunity to see if I want to:
roll that task over to the next day (+1 day for start date, flag kept activated)
address it at a later defined time (new date for start date, flag kept activated) — or
address it later at an undetermined time (deactivate flag)