What is the hook_views_data base field? Looking at the documentation for hook_views_data(), I see this:

$data['example_table']['table']['base'] = array(
  'field' =&gt; 'nid', // This is the identifier field for the view.
  ...
);


What exactly does identifier field mean? Is it supposed to be the primary key of the table? If so, what if the primary key is composite? Or if not necessarily primary key, why wouldn't it be?
With base you can tell views which table to start from

base is a sort of meta data for the views. It describes what would be the primary key of the table, what should be the views title in creating views and some help for the users to use this custom views. 

field define the primary key of the custom table you want to show in views.
title is the title that will appear in your show dropdown on add view page.

EDIT: field is not a required field but its good to tell your view what is the primary key of your custom table. In case of composite key you can define both your columns in array(key1,key2)