As Technochic mentions, giving us additional information (such as what operating system, which can be a major factor) helps us help you.
In the meantime, you could also try this:
1. Go to Start – Run – type in “msconfig”, and click the Startup Tab.
2. Click “disable all” (button on the bottom right), then click apply. Close the System Configuration Utility and reboot your computer. (It will probably still hang on shutdown right now).
3. After it restarts, a system config utility window will pop up – put a check in the checkbox (something like “don’t show this message again) , and then hit OK. Now shutdown again.
If it doesn’t hang up this time, there’s something in the startup menu that is causing your shut down issues. Then you can go back into msconfig, and start re-checking selections one-by-one, rebooting each time to try and isolate the problem.
This often helps with startup/shutdown issues, and it’s a good idea to keep your startup items to a minimum anyways.