A flag argument is a function argument of a boolean type that alters the function behaviour. Often but not always, a function caller decides what behaviour she wants by specifying the value for the flag. And if she does, it makes sense to review the API and determine if we need the flag argument.