BFD can be tweak to failover in millseconds for route convergence with the added benefit it can be applied to most of the routing protocols so isn’t tied to any one.
Where’s as BGP fast-failover can work on just the router you apply it to, BFD needs to be applied to all directly connected neighbors/peers
Fast-failover is specific to the bgp protocol and only is subject to the loss of ebgp peers, Its has a related feature named "neigbour fall-over" which will accommodate both ebgp/Ibgp loss and if associated with low bgp hold times it can provide a quick response to a bgp link failure, However both features can be dependent on bgp's under lying routing protocol to also converge quickly especially regards any of its non direct ebgp (loopback) and ibgp peers.
You could then if you wish implement both of these bgp/bfd features to work in tandem for a faster route convergence and failover.
Please rate and mark as an accepted solution if you have found any of the information provided useful.
This then could assist others on these forums to find a valuable answer and broadens the community’s global network.
Kind Regards
Paul