Drupal - What is the purpose of drush entity-updates?
drush entity-updates
is a developer tool. If you change entity/field definitions in your custom module you can quickly apply this.
In production this should not happen. If you update a module between official releases, then the update code in the module should handle this.
But in your case you are mentioning that your site is in developing. So there are a lot of things, which could have caused this. Either in your own code or in dev or alpha versions of contrib modules.
I found this example from the CR Write update functions for entity schema updates, automation removed (where there are further examples):
/**
* Add 'revision_translation_affected' field to 'node' entities.
*/
function node_update_8001() {
// Install the definition that this field had in
// \Drupal\node\Entity\Node::baseFieldDefinitions()
// at the time that this update function was written. If/when code is
// deployed that changes that definition, the corresponding module must
// implement an update function that invokes
// \Drupal::entityDefinitionUpdateManager()->updateFieldStorageDefinition()
// with the new definition.
$storage_definition = BaseFieldDefinition::create('boolean')
->setLabel(t('Revision translation affected'))
->setDescription(t('Indicates if the last edit of a translation belongs to current revision.'))
->setReadOnly(TRUE)
->setRevisionable(TRUE)
->setTranslatable(TRUE);
\Drupal::entityDefinitionUpdateManager()
->installFieldStorageDefinition('revision_translation_affected', 'node', 'node', $storage_definition);
}