What's difference between node_revision__field_X and node__field_X tables in Drupal 8? I'm in the process of migrating a complex D6 site up to D8 using the Migration tool. An old table content_field_gallery seems to have been migrated to a node_revision__field_gallery table, but there is also a node__field_gallery table with about half as many rows.

I'm guessing that the node__field_X version has only the latest revision and the node_revision__field_X has ALL revisions. Is that correct? Isn't that redundant? And a good index should make a single table pretty efficient? Where can I read more about this?
Yes, that is correct. This is the same data structure as in Drupal 7.

It would be possible to write a different backend that only uses one table, there was a project for that for Drupal 7 but I think it never really took off.

See https://www.drupal.org/node/2083451 for a discussion if that's still necessary or not.