REFInd supports only EFI or UEFI systems without configuring options which, while common on the latest systems, is a relatively new technology. BIOS-based systems are hard to support.
Grub is very file-system aware. This way, it can easily locate a kernel file which is residing in the file system without having to specify a logical-sector.
Grub has an interactive command line interface which can be very helpful at times if anything goes wrong during the boot process, especially after a fresh install or after a kernel update.
Grub has a lot of features that other boot loaders may not have. But this also means more time spent on the documentation if you want to know the ins and outs of it.
Unlike alternatives, such as grub, this maintains very simplistic configuration files, which are normally organized based on the devices to appear in the loader.
Since Windows Vista this has been the default bootloader for any Windows OS. This means that it should work perfectly fine with any Windows installation without the need for further configuration.
LILO does not rely on the file system to locate the kernel, instead it points to the first logical sector of the kernel file. Because it practically works around the file system, it supports any file system available.
The maintainer has announced that support for LILO will be dropped on December 2015 because of several limitations of LILO itself. Though development may again restart in the future and the maintainer is looking for people to continue the project.