The problem is mainly with bugs (often intentional) in the ACPI implementations of hardware vendors. While they almost always provide hacky windows drivers, they almost never provide linux patches, or even enough info for correct blacklists.
As I've said before when this comes up--Windows is, for better or for worse, the de facto standard. Alternative operating systems (and Linux is very, very alternative, in this sort of use scenario) that don't recognize and acknowledge the de facto standard's effective supplanting of the de jure standard are Doing It Wrong.
edit: Swapped my jures and factoes. Shouldn't post while writing code...
You just simply don't get these problems on non-x86 systems. (I speak from experience with MIPS, ARM and SPARC btw).
If we had OpenBoot on ARM, things would rock.