Uma das principais vantagens que encontrei com o heartbeat foi a capacidade de personalizá-lo para ter vários pontos de monitoramento. De acordo com a configuração padrão recomendada, ele possui vários pontos de monitoramento entre o uplink serial e o monitoramento da rede.
Por exemplo, um script de recurso de heartbeat pode ser criado para monitorar um daemon e, no caso de falha do daemon, iniciar um failover.
O CARP é baseado no HSRP, que, como você identificou, monitora a interface. Isso certamente tem um lugar e eu gosto da tecnologia, mas dependendo da função do servidor, você pode achar a pulsação vantajosa.
Suponho que poderia ser argumentado que até mesmo os protocolos que não suportam isso poderiam ter um script escrito para imitar alguns dos comportamentos, que é essencialmente o que descrevi com o heartbeat.Embora eu nunca tenha usado o keepalived, parece ser semelhante ao ldirectord, pois monitora hosts LVS e os remove do VIP em caso de falha. Eu não consideraria isso na exata mesma categoria como batimento cardíaco ou CARP.