Quello spazio puo` essere generato tramite:
line-height
margin
padding
La cosa varia da browser a browser.

Se metti margin e padding a zero e line-height uguale a font-size (oppure uguale a 1 em), dovrebbero sparire tutti gli spazi in tutti i browser.

Poi dovrai inserire qualcosa altrimenti rimane tutto appiccicato. Comunque se inserisci gli spazi tu, hai il controllo tu; se lasci fare al browser hai un effetto non sbagliato ma che potrebbe non piacerti.