There are many reasons not to merge vertices. Heres a few that i have used:
- The file contains many logical objects. If the units dont share vertices they may be separated later for reuse.
- You can circumvent render engine limitations by modeling. Say your modeling engine only support per vertex normals, but it does not support per face vertex normals. Well the next logical thing is just to split the vertex into two and your engine now does what you want.
- The vertices happen to coencide but they arent actually the same vertex. Because its easier to model the ideal surface than it is to model an actual gap between the edges. Maybe this is so that your skinning can move other side independently from the other or something.
- You want to make selection easy in the other engine. Having the vertices aranged in logical chunks makes this easier.
- Your just dumping out the data as its presented to you. This makes the translator easy to make. Besides its not like you nesseserily know how the thing should be handled in anycase. Just offering something minimal that works.