FT is more ideal for a solution that doesnt inherently have a clustering feature, so SQL woulsnt be something normally used with FT.
HA: high availibilty gives you high uptime, allowing for the monitoring of the host, vm, or application (if vendor supported) and allowing for the HA agent to restart a vm if there is a failure.
FT create a sync copy of a vm on 2 different hosts, allowing for max uptime, but there are limitations such as 1 cpu only, and limited ram in coparison with a non FT vm.
in real world applications I rarely hear of anyone using it.