U-Boot, like most firmware that runs on complex SOCs, has multiple phases: pre-DRAM, post-DRAM, and some kind of environment. In U-Boot's case this is the SPL and U-Boot environment. UEFI has its SEC, PEI, DXE, and BDS phases. coreboot has its bootblock, romstage, ramstage, and payload phases. LinuxBoot is intended to be used as the last phase, e.g. in place of the U-boot environment, UEFI BDS, or coreboot payload.
The main advantage is that Linux kernel typically has drivers, networking capabilities, filesystem support, etc. needed to load the target OS. It also gets far better support and much more scrutiny than most firmware, and is obviously open-source unlike some firmware out there (particularly in the UEFI world). Along with the kernel you'll have an initrd which can contain whatever environment you want - Busybox is a popular choice, but there are others such as u-root (that Ron pointed out) which are interesting in various ways.
In short, the goal is to simplify the role of the firmware. Ideally the only driver that the firmware needs is for its own boot media so that it can load its own code and also the LinuxBoot embedded alongside it. For everything else, let Linux do it!