Field type plugins extend the lower-level TypedData API to create a unique way of not only representing data (within the context of entities), but also storing it to the database (and other stuff as well). They are primarily known as the type of fields site builders can add to an entity type bundle. For example a plain text field or a select list with multiple options. Nothing can be more common than that in a CMS.
However, they are also used as entity base field types. If you remember our product entity type's name field definition, we actually did use these plugin types:
$fields['name'] = BaseFieldDefinition::create('string') ->setLabel(t('Name')) ->setDescription(t('The name of the Product.')) ->setSettings([ 'max_length' => 255, 'text_processing' =...