It copies the data, to the position specified. It is up to the developer to make sure that doing so makes sense. The obvious use case is when you have a Mesh which was added already to the MeshBatch, and you want to update it.
Note doing so will mean it has to upload all its data again, as it only knows how to upload it in one go, it does not keep track of the separate Meshes, can’t upload just the Mesh data you have changed. If you are doing a lot of updating parts of a MeshBatch, it might be more efficient to keep them as separate Meshes, and let Starling cache them.