I am guessing we’re talking about instanced static meshes here;
In terms of vertex processing (amount of polys / vertices) you won’t see any difference when looking at the entire scene. The biggest difference you should see (or actually not see) is Drawcalls. With mesh instancing, they should be equal to the drawcalls of one large mesh that has all polys combined. Without instancing, each of these assets create their own drawcalls. Subsequently each new assets drains your CPU. For some reason this does not seem to work in your setup, otherwise your performance would be equal.
There are stat tools that help you visualize this (stat units being one of the high level tools to track it down).
Now the reason why this is done: When you create the entire ship in one mesh, it will always be rendered entirely, unless you look away from it. Down in the cargo hold, you’d still have the engine room and bridge rendered. That is why you split the mesh up into chunks that make sense (cranes on top, bridge separately, etc). The renderer can then decide to skip objects that are outside of your view, they won’t be rendered. This does work for instanced meshes and separately added static meshes.
Bottomline: I’d check your setup and figure out why performance is not equal