Can someone explain the intuition behind it? Does it use random sampling of validators or does it poll every validator?
Well, if you want a rough explanation:
Proposers are randomly selected and assigned time slots.
Normally each proposer proposes and the chain is linear, but sometimes there are forks due to, say, network propagation times (Alice does not get a block from Bob before it proposes)
To resolve forks there is a fork selection algorithm, which selects the chain with the most attestations (random committee of validators can send attestations for the chain they like)
There is a separate finalization mechanism, that requires 2/3 of votes to finalize. If a particular vote is deadlocked, a new one can start by choosing an older start point. This guarantees liveliness.