Justin asked an interesting question in a comment to my IPv6 On-Link Determination post: do we need HSRP for IPv6 as the routers already send out RA messages? Pavel quickly pointed out that my friend @packetlife already wrote about it, concluding that you could use RAs unless you need deterministic sub-second failover.
However, there are (as always) a few more gotchas:
RA-based failover relies on host IP stack. You never know what the hosts will do once a router’s lifetime expires (I’ve seen quite a few unexpected things in the IPv6 world already), and the behavior might change after a software update.
You might not want to use RAs in environments where some hosts (particularly servers) are not dual-stacked, as the IPv4-only hosts might decide they want to use IPv6 even though they don’t have a valid IPv6 address.
RAs are processed by every host. If you decide to use fast RA-based failover, every server (or VM) in your network will have to process several RAs per second. Not a problem, unless you have thousands of VMs – heaps of small overhead tend to add up.
2014-03-25: Another gotcha: RA-based failover probably won't work in MLAG environments.