il come mai è il fatto che ie non rispetta le regole del box model e quindi se lo costruisci su ie non lo vedi bene sugli altri e viceversa a meno di non usare vari hack...
cosa vuol dire vari hack? quindi cmq non è che sbaglia ie o mozilla o altri...semplicemente viene fatta un'interpretazione diversa dai browser
Vari trucchi: per vedere come puoi guardare:
http://www.inknoise.com/experimental/layoutomatic.php
dove ti viene generato del codice che allinea i vari browser.
Per quanto riguarda chi sbaglia, per la gran parte è IE perchè non rispetta gli standard del w3c (potrebbe essere anche meglio quello che fa IE, ma facendo a modo suo costringe a questi mezzi...)