Porque existem difereças na engine (renderizador) de cada navegador.
O Firefox (e outros navegadores como Opera, Safari, etc) fazem do jeito certo, porque seguem os padrões definidos pelo consórcio W3C. Para o Internet Explorer, você deve aplicar "hacks" no CSS para que ele faça a coisa certa.
( ^ ^)