Hace un tiempo ya expliqué como hacer un clear both cada un determinado número de columnas utilizando jQuery, para evitar que se descoloquen divs o otros elementos flotantes de diferentes alturas. Hoy esta misma acción pero sin utilizar javascript, solo con el selector nth-child de CSS:

En este ejemplo crearía un clear cada 3 columnas en una típica lista: