Am I right in thinking that you have altered your css to stop the titles in the product grid from being cut short?
If so, this is what's causing your problem. The product grid is created with a series of divs which are all set to float left. This makes them all line up next to each other and when they have no more room they drop underneath and continue on.
I'm seeing 2 rows of 3, then a row with 1, and then 2 rows of 3... If you notice the row with only 1 product occurs immediately after the full row where 1 of the products has a 3 line title. It is this 3 line title which is causing your next row to only have 1 product in it.
Zazzle have set the height of each product to auto. If you don't set an exact height in pixels for your floating divs and you end up with one higher than the others, it will protrude beneath the bottom line and cause your next row to start to the right of the protruding div.. in your case it's the middle product.... I don't think I explained that very well so think of it as a chest of drawers. If you have something sticking down from the middle of the top drawer, it will prevent you from pushing the drawer beneath it all the way in because the back of the drawer will snag on the protrusion.
I have a fix for you but I'm not sure if it will work. You don't have direct access to the divs which create the product grid but try and override it with this:
.gridCell {height:270px;}
Hope this helps and I haven't baffled you with my attempt at an explanation to your problem.