This is a clear explanation of why a standard binary search alone isn't enough once the array has been rotated. The key insight is recognizing that at every step, at least one half of the array is still sorted. Once you identify the sorted half, you can determine whether the target lies within that range and safely discard the other half.
One edge case that's worth mentioning is arrays containing duplicate values. The usual comparison logic can become ambiguous when the left, middle, and right elements are equal, and the algorithm may need additional checks that can degrade the worst-case time complexity.
For arrays with distinct values, though, the modified binary search approach remains an elegant solution with O(log n) time complexity and O(1) extra space.