The archive attribute is a system function that has existed since early DOS. Any time a file is changed the system will set the file's archive attribute. This flag can be used by
bakup software to determine which files have changed since the last backup (as the backup software will clear the attribute for each file that it archives).
You can test this yourself by creating a new text file, noting that the archive attribute is set, manually clearing it, waiting, then re-saving the file, and noting that the archive attribute has re-set.
So, to paraphrase Sirbounty - any time you, or the system, changes a file, the file's archive bit will be set