ctl-alt-del --> task manager --> processes tab --> sort by CPU time (click the "CPU" heading)
see if there's a process that's hanging. if there is, write down the name of the process. now right-click the process and "set priority" to "low". see if that let's the system shut down.
once you have the name of the process, do a search for that file and try to determine what it is. it could be an app that wasn't fully installed/uninstalled.
let us know how you do.