Stale blocks are generated when two different miners relay their valid blocks almost at the same time. This causes the network to split into two competing versions of the blockchain until one of the blocks is discarded (the longest chain prevails while the other is abandoned). Note that both blocks are verified and valid, but only one is attached to the main chain.
Because miners are constantly generating new blocks, some of these may be broadcasted to the network almost simultaneously. And since the network is distributed, the transmission of information between nodes takes some time. For this reason, there is a possibility that a group of nodes will choose to validate one block, while another group will choose to validate the other. Finally, this would cause one of the blocks to be “orphaned”.