Some algorithms have different complexities depending on input. Quicksort is O(n log n) on average but O(n²) in the worst case (already sorted).
Big O usually refers to worst case. If you want best or average case, you must specify it explicitly.
Binary search is O(log n) worst case. Best case is O(1) if the target is in the middle. We still say O(log n) because that is the guarantee.