La mayor parte de las diferencias que se aprecian entre IE y otros exploradores suelen venir de no utilizar la etiqueta <!DOCTYPE> para definir el tipo de documento HTML.
Otra medida muy saludable es validar el código HTML y CSS en
http://validator.w3.org/unicorn
Cuando aparecen errores, cada navegador los interpreta a su manera, pudiendo ofrecer resultados distintos. Seguir los estándares del w3c es la mejor garantía de éxito.
Otras diferencias aparecen por permitir que sea el navegador quien decida algunas propiedades por defecto. Si damos valores a esas propiedades en nuestro CSS, las diferencias desaparecen.
Tan solo hay algunas pocas diferencias entre navegadores que no se correspondan con ninguno de los problemas anteriores.