If the system will not complete normal shutdown.it is
generally caused by a resource not releasing memory.
One way to trouble shoot this is using msconfig, go to
the startup tab, uncheck (at your disgression) various
APPs from loading at startup. Do a shutdown. If shutdown
completes, the culprit is one of the apps you unchecked.
Continue procedure until cause is isolated.
Alternatively, you could run sfc /scannow from a command prompt
or Boot from Windows CD to repair the OS, to see if this
resolves the issue.