Unreferenced markers are garbage collected eventually, but until then will continue to use time if they do point somewhere. In such cases, the marker stands for its current position. Note that you can use extents to achieve the same functionality, and more, as markers. A zero-length extent with the detachable property removed is almost identical to a marker. Markers are automatically removed from a buffer when they are no longer in use.
Extents remain around until explicitly removed from a buffer.
Many functions are provided for listing the extents in a buffer or in a region of a buffer. No such functions exist for markers.