The documentation for hook_entity_info() reports the following description for the properties the hook needs to return:
The primary ID is what univocally identifies an instance of an entity. The revision ID identifies a revision, but it is not necessary for univocally identifying an entity instance. Clearly, the primary ID univocally identifies an instance for which you know the entity type.
Drupal 8 introduces another entity key (uuid), which is described as:
uuid (optional): The name of the property that contains the universally unique identifier of the entity, which is used to distinctly identify an entity across different systems.
I guess it is unique among different entities.
Between the entities that Drupal 7, and Drupal 8 have in common, only the taxonomy vocabulary doesn't define a uuid field; node, user, and taxonomy term define it.