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
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.