In some situations you want to mark an entity field to indicate it should be completed but not enforce its completion at that time. This module extends the choice between Required and Not required to "desirable" completion.
This module overcomes the problems with the (otherwise excellent) Content Complete module which cannot cope with field collections or fields that link to other entities.
When you might want it
The module has two use cases:
Where you might (say) have a score of completeness on a user profile. You don't want to enforce filling in fields with a "required" but just encourage it by having a %age completion. (There's a nifty block that shows the level of completion and what could be filled in next.)
The other use case - and the reason I needed it - was having an absolutely huge application form that could not be filled in in one sitting and which also had all sorts of field collections and links to other content which also had to be filled in correctly.
Everything has to be filled in, but it might take weeks (in this case). So the user needs to be able to save it between times - but the ability to submit the final version does not appear until everything is filled in. (There's a Rules rule - which is in the documentation - to allow actions to take place when the form is finally completed.)