Could a couple of the posters in this thread, give a picture of what they have running in the Msconfig - startup window.?
I have an old laptop and two stationaries of varying quality. I have been installing and uninstalling since the first build but have never had this problem. There are several "entertainment" programs which can, under many circumstances, cause the problem. - (Youtube. Itunes and similar), which do not need to be running resident.
"even after I have changed "WaitToKillServiceTimeout" to 4000". This problem needs to be addressed by Microsoft fast! "
The tweak you have applied does not, normally, affect the shutdown time, but, for what its worth, 1000 is a better default. The services will still wait until the program which is causing the delay, itself shuts down. A better procedure, which works for some(but apparently not all - sorry) is to navigate to Hkey_Current_user\Control Panel\Desktop and select "autoend tasks, and change it from 0 to 1.
Whilst in the same window of the registry, scroll down to WaitToKillAppTimeout. The default will be a figure from 6000 to 20000, according to which particular release you are using. try 1000, (I have all of mine on 4000, which seems sufficient)
In defence of Microsoft. Whilst the above tweaks might work and help, a nominal install of windows 7 will not normally produce such poor results as those above (see Headshot's post!) The problem is usually the result of hardware or software problems, not normally the fault or responsibity of Microsoft, unless it is brought to their attention for addressing.