Binary lifting is not for ancestor queries. You can use it for:
LCA in per query (as you saw).
Path queries: find the sum/max/min on a path between two nodes.
Level ancestor: find the ancestor at a specific depth.
Jump pointers in graphs: precompute jumps of size in any DAG.
The core idea (precompute power-of- jumps, then binary decompose) applies to many problems.