Another good case is for rolling back a single bad commit from a batch that got merged into main at the same time.
Doing batch merges with a merge queue can speed up things if you have a ton of longer running end to end and integration tests. But then if a test fails you need to identify which commit out of the batch is causing it so you don’t reject the entire batch.