Getting a field value from a view
What you usually write as getValue() without arguments is a method of an entity FieldItemList.
$view-&gt;field returns field handler plugins configured in the FIELDS section of a View.
Views fields handler plugins are an abstraction layer for all kind of data not necessarily based on entity fields.
If based on entity fields then getValue($row) runs this code:
/core/modules/views/src/Plugin/views/field/EntityField.php:
 public function getValue(ResultRow $values, $field = NULL) {
    $entity = $this-&gt;getEntity($values);

    // Ensure the object is not NULL before attempting to translate it.
    if ($entity === NULL) {
      return NULL;
    }

    // Retrieve the translated object.
    $translated_entity = $this-&gt;getEntityFieldRenderer()-&gt;getEntityTranslation($entity, $values);

    // Some bundles might not have a specific field, in which case the entity
    // (potentially a fake one) doesn't have it either.
    /** @var \Drupal\Core\Field\FieldItemListInterface $field_item_list */
    $field_item_list = isset($translated_entity-&gt;{$this-&gt;definition['field_name']}) ? $translated_entity-&gt;{$this-&gt;definition['field_name']} : NULL;

    if (!isset($field_item_list)) {
      // There isn't anything we can do without a valid field.
      return NULL;
    }

    $field_item_definition = $field_item_list-&gt;getFieldDefinition();

    $values = [];
    foreach ($field_item_list as $field_item) {
      /** @var \Drupal\Core\Field\FieldItemInterface $field_item */
      if ($field) {
        $values[] = $field_item-&gt;$field;
      }
      // Find the value using the main property of the field. If no main
      // property is provided fall back to 'value'.
      elseif ($main_property_name = $field_item-&gt;mainPropertyName()) {
        $values[] = $field_item-&gt;{$main_property_name};
      }
      else {
        $values[] = $field_item-&gt;value;
      }
    }
    if ($field_item_definition-&gt;getFieldStorageDefinition()-&gt;getCardinality() == 1) {
      return reset($values);
    }
    else {
      return $values;
    }
  }

You can see how Views API connects with Entity API, but when programming Views API code you should stay at this abstraction layer if possible.