Alinear imágenes correctamente en una grilla sin usar tablas con HTML y CSS

Es bien posible que en más de una ocasión hayáis tenido que colocar imágenes una detrás de otra formando filas y columnas. Algo como lo que muestro a continuación:
¿Cuál es el problema? Si lo hacéis a mano directamente con HTML y CSS sin usar una galería o un framework que te la cree correctamente, os habréis peleado para dejarlas perfectamente alineadas.
Personalmente he probado de todo, desde obligar a alturas, márgenes, padding, float, etc. a incluir más div y nada, hasta que leí esta pregunta del genial Stackoverflow.
¿Qué estructura tenemos que seguir para llegar a esta solución?
El siguiente HTML:
<div class="wrapper">
<div>
<img><img><img><img><img><img>
</div>
</div>Y el siguiente CSS (traduzco los comentarios):
.wrapper {
overflow:hidden;
width:320px;
}
.wrapper div {
/* cualquier altura mayor que el total de sumar la anchura de las img */
width:330px;
/* para evitar el margen superior de la primera fila */
margin-top:-10px;
}
img {
width:100px;
height:75px;
float:left;
margin:10px 10px 0 0;
}


