I found a solution to my problem when Windows would search for updates, but then when it started downloading it would stay at 0% forever. I started by stopping the Windows Update service (in my case the service proved to be frozen so I restarted my computer and disabled the service before it starts) and the Application Experience service. After that I went to the C:\Windows\SoftwareDistribution folder and pressed ctrl+a and shift+delete to empty its contents. Mine contained more than 70,000 files so it took a while. I started Application Experience and enabled Windows Update. I let it check for updates and try to download them. It worked perfectly.
Do not worry about deleting important windows files in this case. The contents of SoftwareDistribution is used as a cache and data for Windows Update. When Windows Update starts again it rebuilds the cache repopulating it with up-to-date versions of the files and chewing up a ton of hard disk space again.
Original article can be found here