One of the advantages of the tilemap object is that it effectively uses render cells internally all the time regardless of the layer's 'Use render cells' setting. The layer setting applies to entire objects, but tilemaps are often so large they sit in every render cell and negate its performance benefit. So to avoid that the tiles are internally split up in to cells and only ones touching the viewport are iterated.
It also works with collision cells in a similar way, and that works especially well when you don't change the collision poly for tiles, since it can take entire rectangular areas of different kinds of tile (assuming they all use full-tile collision), and test them as a single box.
So even if you have an extremely large tilemap object covering a huge layout, it still collision checks and renders efficiently. This is still possible to achieve with other objects, but harder. I added a note about the performance benefits to the Tilemap manual entry to highlight this.