Several facets of the problem were treated in the existing answers.
I will try to tie them together by listing the causes in a general manner,
without repeating what has already been said:
- Microsoft Windows Update mechanism is extremely sophisticated,
which unfortunately also means complicated
- WU needs to support an incalculable number of hardware and software combinations
- WU needs to apply the updates in the correct order
- Windows 7 is an older system, and SP2 is overdue and will probably never arrive, which makes for very many updates
- The last years, Microsoft was under a great pressure to fix numerous
security problems, which resulted in very many hectic fixes,
then fixes of fixes and so on to the n'th generation
- Microsoft has not been able to optimize enough the update mechanism,
which is in general an exponential algorithm, resulting in a brute-force
algorithm which is rather slow.
- Microsoft's WU servers are sometimes over-burdened.
Let us look at these points more in detail.
Windows Update complexities
After an update is released, it can enter into three additional different phases over time: Revisions, Supersedence, and Expiration.
Update Revisions: When changes are made to a previously released update, it's called an Update Revision, where some pieces of the download are changed. This is a partial, not full, update replacement.
Superseded Updates: This is a complete replacement of a previous release, or releases. Sometimes Microsoft will wrap multiple releases into a single package, and that package replaces its encapsulated updates.
Expired Updates: These are updates removed from the list of valid updates. Such updates are no longer applicable and will not be detected for installation. Most times, an update is expired after it is replaced by a Superseded Update.
Updates have also a dependency mechanism, which means that some updates
may require other updates to be applied first.
Expired Updates are problematic to WU performance, since unfortunately they are not removed from the computer, so they still take part in the calculations,
and there are so many of them.
Some improvement may be achieved by using Disk Cleanup to Remove Outdated Windows Updates
(take first a backup disk image of the system drive, since WU is also very fragile).
WU Calculations
Because of the enormous number of possible combinations, Microsoft keeps all updates on the WU servers in the format of a humongous tree.
Deciding on which updates need to be applied is done by a tree-pruning algorithm, which takes into account the client's installed hardware and software,
as well as all the updates that are already installed, which is by itself
a large body of facts that need all be applied successfully when pruning.
The algorithm is not guaranteed to succeed, meaning that WU is perfectly
capable of destroying the OS or even rendering it unbootable.
This is entirely understandable, for example taking an update A1, having revision A2, where an update B depending on A was released between A1 and A2.
Now go figure whether the order of installation should be A1-B-A2 or A1-A2-B, when the wrong decision can be deadly.
Overburdened WU servers
Wikipedia has this to say about Windows Update statistics :
As of 2008, Windows Update had about 500 million clients, processed
about 350 million unique scans per day, and maintained an average of
1.5 million simultaneous connections to client machines. On Patch Tuesday, the day Microsoft typically releases new software updates,
outbound traffic could exceed 500 gigabits per second.
These numbers have probably doubled by now, and explain why the WU servers
are sometimes unreachable.
I am using the WU option of "Check for updates but let me choose", and
my own experience is that there are days and times when checking for updates
takes longer than I'm willing to wait, requiring postponement.
The long history of Windows 7
Windows 7 was released on July 22, 2009.
After about 17 months, Service Pack 1 (SP1) came out on February 22, 2011.
This was about 4.5 years ago, which means that SP2 is long overdue.
The good side of a Service Pack is that installing it wipes out the entire
update history, so that in effect WU starts from zero, exactly as after
a fresh installation of Windows. This of course speeds up enormously
all the calculations, since there are fewer updates to take into account.
The sheer number of existing updates since SP1 explains why WU calculations are so slow today. For Microsoft the problem can be solved
"simply" by upgrading to the more recent Windows 8.1 or Windows 10, so WU
will have a smaller number of updates to take into account.
Conclusion
As Microsoft still continues to apply numerous updates to Windows 7,
WU will only keep on slowing down as time passes.
One possible optimization is to Remove Outdated Windows Updates.
Another is to use the WU option of "Check for updates but let me choose",
and check for updates early morning or late at night.
Most updates also apply to Windows 8 and 10,
so the burden on Microsoft's WU servers will only multiply when Windows 10
is soon released. Microsoft also seems to parcel the bandwidth of its WU servers
according to its own policies, with the accent on serving the more recent
operating systems, so we should expect another slow-down for Windows 7
once Windows 10 is released, together with disproportionately faster updates
for Windows 10.
If WU is too slow, the only real solution is to upgrade to a later version of Windows.
Good news : SP2 for Windows 7 (and 8.1) has arrived
Microsoft has published what is actually SP2 for Windows 7 and 8.1.
This update will not be available from Windows Update for some unknown reason,
so has to be manually downloaded and installed.
Read about how to get it in the article :
Microsoft overhauls Windows 7 and 8.1 updating -- but don't call it a service pack.
1It seems like background application are running. How did your system performance? – vembutech – 2015-03-16T08:08:47.060
1My PC performs fine. CPU hardly went over 10%. I didn't notice anything unusual while it is "searching for updates". – some user – 2015-03-17T23:11:20.407
Why are you disabling Windows Update in the first place? It could run in the background and you wouldn't even notice until it asks you to reboot, which you don't have to do immediately. – gronostaj – 2015-06-26T18:36:04.090
3I like to update in batch so I can rollback if something went wrong. Background updates are hard to track and time consuming to rollback. And with manual update, I also have the option to review the changes before proceed. Also, once in a while I help people to clean install their PC and I am faced with the same problem. – some user – 2015-06-26T20:48:58.207
First and foremost, updates aren't supposed to break anything and most of the time they don't, except for very rare cases. Even if they do, it's easier to track down problematic update when you're installing one or two before something breaks than when installing entire batch. There's no point to review changes because you want them all, they make stuff better or safer. Please see my comment on @Overmind's answer. Clean install is another issue, when I want to do it quickly I pre-download installers to major updates (Service Packs etc.) and install them manually. – gronostaj – 2015-06-26T21:14:01.707
5@someuser You can have the best of both worlds: Configure WU to Download updates but let me choose whether to install them which will scan for required updates in the background but never install them without your approval. They won't auto-install but all applicatble updates will be listed when you do your monthly patching routine. – I say Reinstate Monica – 2015-07-01T18:40:58.120
How much RAM do you have? The process is very memory-intensive. I seem to recall a recommended update being released recently which was supposed to improve update check times. – Bigbio2002 – 2015-07-01T18:53:30.767
The time requirement is a combination of the process and how many updates there are. Updating once/month creates a large backlog of updates. The answers mainly focus on why the process is slow, but your update interval is a major contributing factor. – fixer1234 – 2015-07-04T17:05:51.973
I just updated 2 days ago. The checking process took 20 minutes. I tried check for update again just now and it took 10 minutes. There is only 1 new update - Definition Update for Windows Defender. – some user – 2015-07-05T05:59:38.067
Most files have multiple patches available, but they don’t all come out in a nice, orderly one-at-a-time fashion; they essentially come out randomly. It is difficult enough to apply different patches to a text file (look at the complexity of versioning systems), but with a binary file it is so much worse. If you check a file and it seems to not have patch
A1-q44.3pr1S_7
(flat numbers won’t suffice), should you apply it? Does it already have a more recent patch? How does this patch interact/interfere with others? Version patching is mindbogglingly confounding in thought, let alone code. – Synetech – 2015-08-21T16:50:39.620@CharlesB, no the answer deserves a deletion because it is crap. SUR fixes corrupted files and has nothing to do with slowness. – magicandre1981 – 2016-04-08T15:41:07.030
@magicandre1981 disagree, having installed SUR and KB-3102810, as the answer suggests, it fixed WU slowness. – CharlesB – 2016-04-11T07:53:45.993
@CharlesB that update KB3102810 fixes the issue was already posted several times : http://superuser.com/a/996072/174557, http://superuser.com/a/997067/174557 so do a search next time. And again, checksur doesn't fix slowness, it repairs corrupted windows files.
– magicandre1981 – 2016-04-11T15:39:46.753Can be incredibly slow even with a 500MBps connection on azure on a new VM ! – Simon – 2017-03-16T07:21:57.707