To follow on from an above post if you are running the following:
IPSO - VRRP Only
SPLAT- ClusterXL Only
Gaia - ClusterXL or VRRP
If you think about it, VRRP is an open redundancy standard that you can run on Linux, Cisco, Fortinet etc etc ... The protocol itself is concerned with the ability to maintain successful routing paths through a single IP address (VIP) per network that you require in the event of hardware/software failure of a particular device node.
It does not have native checks for the core PNotes that Check Point ClusterXL defines nor does it the the ability to customise your own PNotes. It has no method for connections and NAT table synchronisation.
At this stage you are needing to implement ClusterXL on top of VRRP anyway as has already been highlighted to achieve state synchronisation and cluster health checks.
However, with this being said, VRRP works very well, if configured correctly. Try not to use multiple VRID's for your interfaces as this has the potential to mean that only a single interface fails over to the secondary cluster member causing split traffic across cluster members. Additionally, each VRID has to be manually failed over - which can take upward of a few minutes to complete on a device with many interfaces as opposed to a single VRID fail over being "instant".
I typically see this deployed when:
1) Customer has upgraded from IPSO way back when and have simply followed the standard in place upgrades
2) Issues with upstream device.
According to sk44898 - RFC 1812 states:
"A router MUST not believe any ARP reply that claims that the Link Layer address of another host or router is a broadcast or multicast address."
The gratuitous ARP used for ClusterXL send a Unicast IP to a Multicast Destination, breaking RFC standard.
Rather than fight with ClusterXL, simply drop in VRRP config and it usually just works. I know you can use broadcast mode instead for CCP but I have heard concerns from customers over additional network resource use given the nature of broadcast traffic itself, however this one particular example was on a large subnet with many thousands of hosts. Also the mindset of security, there is a theoretical security concern over the broadcast of cluster data to every host on the subnet, again, a real world example I am citing from a customer. Personally I am not so sure I share those thoughts, but then it wasn't my network to make that decision for
Running multiple clusters on a subnet has already been established that you can use the Magic_MAC, made much easier since R77.30 I believe, where it is part of the WebUI set up. One point that has not yet been mentioned is the counter part to this with VRRP is to use simple authentication AKA a password for the cluster member to authenticate its peer against. Even if not using another Check Point cluster, I would recommend to set this as its very possible there are other none Check Point devices using VRRP in the same network segment that can and will cause you a headache upon deployment. (Speaking from experience)
I have to say on a final note, I find pure ClusterXL clusters easier to manage and troubleshoot as almost all config is done from Dashboard and the cphaprob tool set of commands usually get the job done very efficiently. I also prefer the fail over cli options to the clish VRRP options, but this is personal preference rather than hard fact.