Inevitably you will encounter (a) a junior developer who considers commits to be 'save states' rather than individual logical changes or (b) someone who is used to squash merge and did not think commit history mattered.
Without squash merge, it then becomes very likely most commits do not even build making bisecting a bit of a nightmare.
Without squash merge, it then becomes very likely most commits do not even build making bisecting a bit of a nightmare.