Had this very annoying issue on the WSUS console where updates would just stick.
The fix was really very simple although I tried a varierty of things that didnt work first.
Stop the following services (I actually had to disable and reboot as they wouldnt stop):
WSUS Service - WsusService Windows Update - wuauserv Background Intelligent Transfer Service - BIT
Then delete this folder:
Restart the services and bobs your uncle.
What didnt work but might for you (or me in the future):
Find the failed update:
From the WSUS management console, you can go to Updates -> All Updates. After searching out the approved updates, and then adding the column for File Status, you can see the updates in downloading.
For the updates downloading incompletely, you can decline these updates.
Look for these events and decline the update:
Cancel all updates from PowerShell
Then let them download and keep and eye on which is struggling and decline it.
Reset WSUS content:
1) Correct any settings above or disapprove any unneeded updates.
2) Close any open WSUS consoles.
3) Go to Administrative Tools – Services and STOP the Update Services service.
4) In Windows Explorer browse to the WSUSContent folder (typically D:\WSUS\WSUSContent or C:\WSUS\WSUSContent)
5) Delete ALL the files and folders in the WSUSContent folder.
6) Go to Administrative Tools – Services and START the Update Services service.
7) Open a command prompt and navigate to the folder: C:\Program Files\Update Services\Tools.
8) Run the command WSUSUtil.exe RESET
Check the permission of the WSUS Content folder, check if NETWORK SERVICE and WSUS administrators have full permission
Reindex the SQL DB: