The question should really be about CompletableFuture vs FluentFuture, as these are roughly analogous constructs. Here's what the FluentFuture docs say:
Users of CompletableFuture will likely want to continue using CompletableFuture. FluentFuture is targeted at people who use ListenableFuture, who can't use Java 8, or who want an API more focused than CompletableFuture. (If you need to adapt between CompletableFuture and ListenableFuture, consider FutureConverter.)
Afaik, the only feature of FluentFuture that is not supported by Java 8 CompletableFuture is withTimeout. Java 9+ CompletableFuture does have something equivalent to withTimeout.
If you already use ListenableFuture, or you rely on an API that does, or you are stuck on Java 7, or you feel that FluentFuture is truly "more focused" than CompletableFuture, then go ahead, otherwise I would stick to CompletableFuture.
I would strongly recommend against
exposing ListenableFuture or FluentFuture in new APIs, because you'll be saddling users of that API with an extra dependency for no very good reason.