Since the hardware vendors write both the firmware/BIOS and the Windows drivers, they don't have to make sure that they follow specifications closely or document properly. Even worse, they generally aren't the original authors of stuff so don't understand the code, are under incredible time pressure, and are often hardware engineers rather than software engineers. So it's a lot of hack and slash coding combined with "it boots Windows, ship it!"
"What alternatives are there? We could keep the status quo and add driver whitelisting for hardware setups that are known to work. The problem is that even where we have specifications for the hardware, we often don't have the errata lists. We don't know for sure whether it works or not. We could revert this patch and add more driver blacklisting. But then we need to track down every device that doesn't work. Or, it's possible that the original code was correct and Linux simply programs the hardware differently, triggering ASPM issues that aren't seen elsewhere."
and a comment says:
"The OEMs buy in hardware components, which come with Windows drivers already written"