Marble uses Qt's Model/View framework as a way to signal updates to a model to interested parts. In that respect, a Model class can wrap any possible data.
Here is the list of Model class, and a description of how they are used.
It represents a data file, parsed into a GeoDataDocument tree structure.
It is used by the DataViewPlugin debug plugin (and is broken atm)
It represents a list of gpx data file represented as GpxFile
This was originally intended to but used as the model for the File List View ( which is accessible by running marble with --enableFileView ) but has since been replaced by the FileViewModel.
The model that is in the GpsLayer is currently only being used as a collection class and is deprecated. This, along with the whole current GPX implementation, needs to be removed and updated to the current concepts in Marble. See Gpx Status
It is used by the GeoRenderPlugin to access the list of vector data to draw it.
It is used by no other code.
It represents the list of all Placemarks of all opened kml files. the PlaceMarkManager appends all the placemarks after reading a file.