A programmatic identifier (ProgID), is a registry entry that can be associated with a CLSID. The ProgID key maps a user-friendly string to a CLSID. Like the CLSID, the ProgID identifies a class, but with less precision.
Use a ProgID in programming situations where it is not possible to use a CLSID. ProgIDs should not appear in the user interface. ProgIDs are not guaranteed to be unique, so they can be used only where name collisions do not occur.