OK, there are a handful of known bugs where the shutdown process can be slowed/frozen by processes -- the most common I've heard being the Group Policy Editor taking forever to clear the virtual pagefile at shutdown, followed in second place by the Event Log service trying to log a problem happening when a process is ended at shutdown. Also a couple process related to iTunes and Nvidia cards occasionally do this. There's an excellent guide to finding and getting started troubleshooting them here (look half to 2/3 of the way down):
http://www.aumha.org/win5/a/shtdwnxp.php
Honestly though, sometimes this just happens because the machine is old and your copy of Windows is all crapped up. By which I mean, over time, any computer is going to build up a nice steaming pile of things that slow down the operating system -- bad registry entries, uninstalled programs that left behind traces, system files that got moved or modified, useless processes that run in the background and chew up resources unbeknownst to you ... things like that.
It's basically unavoidable, and there's really no way to fix it all, short of doing a clean reinstall of Windows. If you don't want to do that, you can likely regain some speed back by doing a few things:
- Run a hard drive defrag if you haven't recently
- Look for any unnecessary applications that automatically run at startup, and disable them from the control panel
- Run a *good* registry cleaner (you can find a lot of good recommendations/downloads at majorgeeks.com. I would not try running an automated registry cleaner on Vista or above; they seem to do more harm than good. But for XP they still seem to help)
If it's still going slowly ... it is possible to initiate the shutdown process without having to click and wait for the menu to pop up. Just open the Run menu and type, "shutdown -s -t 5" (without the quotes) and it will begin the shutdown process. (in case you're wondering, the -s tells it to shut down and not restart, whereas -r would tell it to restart ... the -t and the number following it specify how long to wait until shutting down; in this case it would be 5 seconds but you can make it whatever you want.)
Anyway, I've found that extremely helpful for one of my older machines that was taking several minutes to display the shutdown menu. That lets me just set it and walk away, which I cannot tell you how much frustration it saves.