Salesforce archives activities (tasks and events) that are over a year old.
You can use queryAll() to query on all Task and Event records, archived or not. You can also filter on the isArchived field to find only the archived objects. You cannot use query() as it automatically filters out all records where isArchived is set to true. You can update or delete archived records, though you cannot update the isArchived field. If you use the API to insert activities that meet the criteria listed below, the activities will be archived during the next run of the archival background process.
Older Events and Tasks are archived according to the criteria listed below. In the Salesforce user interface, users can view archived activities only in the Printable View or by clicking View All on the Activity History related list or by doing an advanced search. However, in the API, archived activities can only be queried via queryAll().