Excellent question. Flags are meant to keep information on an account. Lists are meant to group certain people together in a list to use that isn't information that's needed when viewing an account.
Lets say you want to create a list of people that you will call within the next two weeks for funds you do not need a flag for this. All you need is add these people to a list. Because you don't need everyone to see when entering the account that you want to call them in the next two weeks. This isn't any info on the person. And you can also remove people from the list as you call them so with time you work thru the list. The list can be private to your user name. Or lets say you want to create a list of people you want to invite to a personal simcha. Again a list would be the best place for this.
Now lets say you want to create a list of people that are close Donors to the Org. A flag would be the best option for this. You would flag them as Close Donor and everyone entering the account will see that they are Close Donors.
To know how to use list or flags you can just search this Q&A.