There are two types of borders in a table, the table itself can have borders (outer borders and borders between cells), and each cell can have borders around them.
Using border-collapse: collapse;
means that two cells with the same border settings next to each other will only get a single set of bordering instead of a double, e.g. the right border of one cell will collapse with the left border on the next cell in the row.
There wes no CSS style for the table border between cells until CSS 2, so it has to be disabled using the HTML attribute cellspacing="0"
on the table to support older browsers like IE 7*. If there is table borders between the cells, the border collapsing will naturally not work as the borders are not next to each other.
* I truly enjoyed the feeling of calling IE 7 an "older browser" ;)