Есть много факторов, например:
- Различия в стилях по умолчанию (как вы упомянули)
- Другой набор установленных шрифтов
- Различные системные настройки для сглаживания текста
- Различные настройки для размера текста и масштабирования
- Различная поддержка стандартизированных функций (1)
- Поддержка различных нестандартных функций (2)
- Нестандартная реализация стандартов (ошибок)
- Различные стратегии для устранения ошибок в коде
(1) Различные браузеры поддерживают разные стандарты вплоть до определенной версии, например CSS 2.1. Целевые стандарты варьируются, а также часто отсутствуют некоторые функции, обеспечивающие полную поддержку.
(2) Браузеры поддерживают различные функции, которые еще не стандартизированы (или никогда не будут). Особенно Internet Explorer имеет множество нестандартных функций, которые, конечно, не работают в других браузерах.