Even though it is supposed to be "simple" in what it should do (initialize, configure and do a basic sanity test of the system), the BIOS should have at least some level of flexibility. Therefore, it was designed to:
A) Allow the user/system administrator to configure some hardware features. That's why there is a "Press DEL to enter setup" message. Generally, the defaults are optimized for your system, but some configuration options include CPU clocking, memory latency, peripheral interrupts, etc.
B) Offer a minimal basic API for some trivial stuff, like printing to the screen. This is rarely used today, as the Operating System redefines their own routines for doing the same stuff, and generally in a more specialized manner (for example the graphics driver supporting higher resolutions)
C) Boot a diverse set of operating systems from a diverse set of media (CD-ROM, USB flash, different hard-disks, etc.)
That last item is why an MBR exists. It is a standard form for listing the primary partitions on a drive (allowing multiple OSs to be present on the same drive) and what code should be executed to load and start the operating system (this code is called the boot-loader).
Anyway, at least that's why the "legacy" BIOS works the way it does. This is being slowly phased out in favor of a new initialization firmware called UEFI (at least for x86 and x86-64), which supports even more flexibility.
Finally, you can load the kernel directly. Take a look at the Coreboot project (www.coreboot.org) which does minimal initialization and then loads a payload, which could be the kernel, or it could be a standard "legacy" BIOS ;-)
Hope this helps,
Janito