From man mkinitrd...
mkinitrd creates filesystem images which are suitable for
use as Linux initial ramdisk (initrd) images. Such images
are often used for preloading the block device modules
(such as SCSI or RAID) which are needed to access the root
filesystem. mkinitrd automatically loads all
scsi_hostadapter entries in /etc/conf.modules, which makes
it simple to build and use kernels using moduler SCSI
Any module options specified in /etc/conf.modules are
passed to the modules as they are loaded by the initial
The most common need for an initrd is when you have your / on a filesystem type that you don't have compiled into your kernel. If your / is on EXT3 or Reiser, and you have them as modules in your kernel, then the kernel can't read / at boot, because it doesn't have the modules loaded yet.