programeitor mirá
http://www.ignside.net/man/css/tablas.php
Allí verás que border-collapse es simplemente una forma de mostrar los bordes de la tabla y celda, pero si no especificas el "spacing" igualmente quedara un "margen" entre celda y celda (ojo, es mi opinion, no se si tengo razón, solo hablo por las pruebas que hice y, en ningún caso, utilizando solo "border-collapse:collapse" se eliminaron los márgenes)...
Aunque esto en algunos navegadores es X y en otros es Y... es decir, cada uno lo interpreta como tiene ganas...
En fin, creo que el tema esta muy bien explicado hache arriba... hay que darle semántica al asunto, el tema sería intentar programar teniendo en cuenta de que si alguien mira el código HTML pueda "navegar" tranquilamente la pagina, es decir, que entienda cada sección del código, esto también nos ayudará -bastante- con los navegadores, ya que los spiders (arañas) leen el código y, mienta mas semántica, mejor describirán y descifraran el contenido de nuestro sitio.