REFInd supports only EFI or UEFI systems which, while common on the latest systems, is a relatively new technology. BIOS-based systems are not supported.
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.
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.
After running the main configuration generation command, you can easily change the names of your Arch Linux and Windows entries and disable auto-boot for Linux, if you use both equally.
Grub2 is the main standard in linux instalation, but when you have to install several systems it just dont work well. You end having a bunch of nested menus of systems to boot repeated.
A big con is that it can show graphical menu to select your OS and there are numerous built-in themes to choose from. Also you can easily install others.
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.