Bitcoin fork resolution - Fork losers download previous blocks 'til common block?
As soon as miners find a solution to the block header, they relay the block to the full nodes in their network. These full nodes will validate the block and will add the block that reaches to them first on top of the existing blockchain. Later, when they receive the other block at the same height, they will not discard it but maintain a copy of it. However, the nodes do not relay the block that was received later. Although the nodes assume that the block they received later must have lost the 'race', it keeps the “losing” block so that it has the information needed to reconverge if the “losing” chain ends up “winning.” So here you have a blockchain fork, where around half the nodes have a different version of the blockchain at the best height. When the fork is ultimately resolved when the next block is mined, the nodes can converge back because of the copy or the other block that they keep.

Chain reorganization with more than two blocks is rare unless there is a bug in the software like the one that caused one of the major fork back in March, 2013 that lasted 31 blocks.