Your template has some very odd coding, with all styling apparently inserted as classnames, so I think fixing this is going to require seeing your actual template files.
At any rate, the base cause of the layout problem is that the template eliminates the stock insertion of a <br class="clearBoth" /> which ensures that separate rows don't interfere with each other. When a product has a long title, it is taller than others and sticks down farther, and the first product on the next row tries to float left and gets stuck on the bottom edge of the previous item.
A solution without fixing the code would be to make all products the same height (allowing enough to fit long titles).
Add to your stylesheet1.css
Code:
.centerBoxWrapper .pT5 {height: 2.0em;}
I notice that you have two stylesheets with much of the same content. Duelling stylesheets will cause headaches over time, as you never know which one is controlling a certain element. You would do better to merge them and combine the rules that apply to the same elements.