Maybe we can see their difference in the startup scripts they make or the executable files they have but we can't really tell which of the two tools have the greater advantage as there are also times when files included in the initrd are no longer needed and will just take up space. And sometimes it's much better to have a simpler startup script to have faster boot process.
Anyway you shouldn't really think about which is better. The most important thing is that if your system is initrd dependent, always update your initrd file. You can do that manually (depends on the distro) by doing
mkinitrd -o <initrdfile> <version>
e.g. 'mkinitrd -o /boot/initrd.gz 188.8.131.52[/code]
If you think your system can run without initrd and you want to make your system independent from it, compile your kernel with most drivers required in startup set as built-in and not as modules. After the installation of new kernel, exclude the initrd value in your boot loader's config.
For lilo, run 'lilo' after editing lilo.conf.