Cache Replacement Policies

In a set-associative cache, when all ways in a set are occupied and a new block must be loaded, which replacement policy do most modern L1 caches use and why?