_now_ linux has support for a huge number of devices.
but think about when linux started. at that point in time it started out with ST506 MFM support and vga video support.
that wasn't enough to drive the hardware optimally, but it was enough to talk to it.
similarly with the IDE/SATA controllers, most of them work with generic settings, but to get the most out of them you want to do the per-controller tweaks.
even in video, the nvidia cards can be used as simple VGA cards and get a display.
the harder you make it to get any functionality the harder it is to get to the point where the system works well enough to be used and start being tuned.