In SCCM, it is essential to house keep the update lists to remove expired updates in order to ensure that the compliance is reported correctly.
Of course you can manually go through all the update lists and deployment packages that you have created to remove those but why not use some tools to help you achieve that instead?
The below post is a VBS written by someone in the community which is very useful for this.
I have made minor amendments to the vbs which you can download from here
To use simply download the file and place it in a folder on the SCCM Server.
Open up command prompt and run the command below in the folder where you have placed the vbs
-d enable debug logging
-l connect to local machine
-r connect to remote machine
If -r is used, the user's credentials has to be provided.
When the vbs completes, you will be prompted to run a full synchronization whihc can be achieve using the below
1) In the Configuration Manager console at the highest site in the hierarchy with an active software update point, navigate to System Center Configuration Manager / Site Database / Computer Management / Software Updates / Update Repository.
2) Right-click Update Repository, and then click Run Synchronization. Software updates synchronization is initiated as soon as possible.
When synchronization is complete, a request is sent to child sites to initiate synchronization.