<div class="container">
<div class="product-list">
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
</div>
</div>
У .container выставляете что хотите (например с обеих сторон по 20px), но тогда у .product-list {padding: 0 -20px 0 0}.
Но я часто прописываю у container только одну сторону, дабы таких ошибок не было.
Либо другой вариант. Верстка та же, стили такие:
.container {
padding: 0 20px;
}
.product-list {
margin: 0 10px;
}
.product {
margin: 0 10px;
float: left;
}
Думаю, это самый оптимальный вариант.