It applies when you can define a monotonic predicate over the answer space (e.g., “is there a solution with value ≤ X?”). Then you can binary search the minimal/maximal X that satisfies the predicate.