Dave, sorry if my answer was too tiny.
If there is nothing to save, Save returns true. (everything is O.K., it's just there is nothing to persist.
If the user is denied from insert/update an entity, Save returns false. (See authorization at docs for more info).
If you update an entity, or you update an entity with an update restriction, and the execute action return that 0 rows was affected, Save returns false.
You receive exceptions if, for example, the fields are null.