Lo que hace es que el div 'flote' a la izquierda. aqui tienes un ejemplo de como sucede esto:
<style type="text/css">
.contenedor{
width: 300px;
height: 300px;
border: 1px solid #333;
}
.flotante{
float: left;
width: 90px;
margin: 5px;
background-color: #DDD;
}
</style>
<body>
<div class="contenedor">
<div class="flotante"> </div>
<div class="flotante"> </div>
<div class="flotante"> </div>
<div class="flotante"> </div>
</div>
</body>
Como podras ver cada div mide en realidad 100px (90 del cuerpo mas 5 de cada lado). A su vez el div que los contiene mide unos 300px de ancho.
Por lo general los div se acomodan uno debajo del otro (lo podras ver si le quitas la propiedad float), pero en este caso se acomodan todos a la izquierda, cuanto puedan.
Al llegar al ancho maximo del contenedor, el 4div se coloca debajo ya que no puede aumentar el tamaño del contenedor.
Espero que se haya entendido.
Cualquier cosa, pregunta.
Altareum.