Before you look for new drivers, power supplies or whole new computer, look in Sounds and see if you have a sound for 'Exit Windows'. If not, assign a sound. I've read that upon shutdown, all programs have to stop and tell Windows that they have stopped. Unfortunately, if Windows is too quick, it stops listening for the notices. But if it doesn't hear from every program, it won't shut down. Catch-22. By making Windows fetch a sound file and play it, all the running programs have a chance to 'check in' and shut down will happen like it should. May not work for everybody, but it's like almost a no effort fix. Worth a try.