How would I identify what's causing my Mac to permanently hang on shutdown?
I would recommend starting your Mac in Verbose Mode.
When you startup and shutdown you will see the Console entries in realtime on the screen.
Sometimes you can see what the computer is getting stuck on at shutdown. It may not be obvious what the cause is. We might need to type the last displayed line into a search engine for more information.
My first response whenever something is broken in Mac OS X is to try a safe boot. Safe boots perform several repair tasks in addition to safe booting your mac without extensions or startup items running. Shut down your Mac. Power it up and begin holding down the shift key the moment you hear the startup chime. Keep it down until you see an onscreen progress bar. Eventually, you will get a login screen - Login and wait until your machine is fully started up. Now restart normally and see if problem is fixed.