Das Problem bei deiner Webseite ist im Grunde recht simpel - jedenfalls soweit ich die Sache durchblicken konnte.
Was die Höhe angeht, ist float sehr fieß. Wenn du ein Div-Container hast, dessen Inhalt nur mit float-Eigenschaften bestückte Kinderelemente besitzt, hat der Div-Container keine Höhe. Erst wenn du mit einem nachfolgenden Element clear verwendest, "erkennt" der Browser das Problem und fänt ab dem letzten Element mit clear an, sich größentechnisch anzupassen.
Ich hoffe die Problematik ist soweit klar geworden. Mehr Infos findest du unter folgendem Link:
clear: Umfließen von Elementen beenden: CSS-Referenz auf CSS 4 You - The Finest in Stylesheets