The layout itself is not hard to do with floats. It's the expectation that the content would prearrange itself automatically that's the flaw.
1) it looks like you are attempting a horizontal grid, so you will need to re size all your images to be the same width in some photo editor ( or you could do some serious # crunching yourself)... this is to prevent snags, or rather so we can take advantage of the snagging effect.
2) the issue with floats is that an element that later in the code cannot be DISPLAYED higher that a previous floated element. This mean you will have to manually ( using IDs or other identifiers) negatively adjust the vertical margins so as to jostle the images into place.
Other than that you will need to segment your content into 3 columns as SDT suggested.
You could also rely on CSS3, but this would narrow your list of supported browsers greatly. Google :"CSS3 -moz-column"