An entity represents a specific use case.
I believe the credit for this simple definition goes to Fago, but I'm to lazy to find a reference.
We could use Content
(aka Nodes
) for all use-cases if we wanted to, but often that doesn't make sense.
Content
has an author and settings for both comments and menu location.
Users
, represent a use case different enough from Content
because on a user
neither of the above makes any sense, while on the other hand, a user
must have an e-mail and a password.
Taxonomy terms
stand out because they have the built in functionality to be arranged in a hierarchy, even a circular one.
If your use-case is similar enough to an existing entity, go with using that entity. If your entity is governed by significantly different rules than any existing ones though, create a new one.
There is also An Introduction to Entities, but unfortunately it doesn't really answer your question.