I suppose it can be assumed common knowledge that the breadth of Linux support for hardware is increasing by the minute but I tend to think now that its depth is not always following up at the same pace.
This is a good point - it is very common for a project, particularily a driver, to get orphaned when it only just goes.
I present as an example, the genesys scanner backend - no longer maintained, but anyone who wants to can improve it. It will get the scanner to work in greyscale. In color, it will scan once then jam. To unjam, you pull the power chord.
Thing is, the scanners that need it are quite old now and were always cheap. The original maintainer no longer has any. I was having a go, but I ended up with a new scanner before I could come to grips with it. I discovered that nobody else seemed to have one and I couldn't give mine away (apparently it wasn't so hot in windows either). So I gave up.
Of course, if someone paid me I'd look into it - but I have other fish to fry.
The same effect occurs all over.
If the newbies with the problem don't tackle it, who will? It's not normally as hard as it looks, though the acpi standards are pretty cryptic... it may not be that.
I have been noticing that newer hardware is increasingly open-source friendly. eg. I can flash my bios without needing windows now. My mobo vendor supplied linux notes.
Generally, quality HW works better than the cheap stuff... partly because the hackers like to use the quality stuff and partly because it's, well, quality. That leaves the rest of us with cheap machines floundering with almost-working HW and technical workarounds. Even if good HW is accessible, that doesn't help if the stuff you've got is being difficult.
Your starting point is to install the latest kernel - preferably from CVS.
With that hang on shutdown, you have to read around the problem until your eye's bleed.
Access and read your logs - so far, nobody has shown me log reports.
Learn about the debugging tools, this can show you if a process is looping instead of being killed properly. And so on.
This is not all at the HWs door - the kernel project notoriously gives low priority to "home" users with low-end hardware. The people to got interested are the distro maintainers who target your demographic. Hunt through their bug reports, and write your own. Supply lots of information.
If this is ubuntu, then shutdown issues are upstart issues, report suspected bugs to:
... this is an active project, so you should get attention.