Flags are per call
A flag passed once applies to that call only. A compiled pattern is where flags belong when a pattern is reused.
A silent difference
Ignoring case changes which text matches. A test written without the flag can pass while the real run fails.