The BIOS itself actually only needs to understand a limited set of hardware required to boot the CPU. It does not need to understand "hundreds" of devices. For example, the BIOS has no idea what a USB printer is.
In general, the BIOS only understands the following devices:
- The CPU/Chipset "core" hardware - e.g. the DDR3 memory controller
- Basic PCI/PCI Express initialization - nothing device-specific
- The video controller - just enough code for basic initialization, typically provided by an Option ROM
- The SATA controller - as long as it is IDE/ACHI compatible.
- The USB controller - possibly just USB 2.0
- Standard USB storage devices
- Standard USB keyboard/mouse devices
- Ethernet controller - typically provided by an Option ROM
Any other device is ignored by the BIOS, unless the vendor included an Option ROM on the board. (You typically see this on SAS/SCSI controllers or Ethernet cards.)
Note most of the devices listed above conform to a standard specification, so they are software compatible regardless of who made it. For example, a USB 2.0 controller should comply with the EHCI spec, it would be compatible across all BIOSes. SATA controllers should follow the AHCI spec.
Once the Operating System loads, it takes over from the BIOS and loads its own drivers to interface with the hardware.