Had an issue today where one of our document retention policies was not triggering even though the scheduled occurrence date was past due.
Found that the default schedule for the ‘Expiration Policy’ job was set to Weekly and the last run date was before the scheduled occurrence date. Basically, SharePoint did not know that the document had expired as the timer job had not run.
Ran the job manually from Central Administration and it started archiving my documents immediately. Modified the schedule to run daily at night so that it does not have to do a massive amount of documents each week.