Question: This is a general question that I couldn't find a satisfactory answer to. Apart from the obvious, making a node visible on the user side versus keeping it in a 'draft' mode, what does publishing a node accomplish? Especially if the node isn't front-end content.

Answer: 
Node status is baked into the [node access system](https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/group/node_access/8.2.x) fairly deeply in implementations. What I mean is, it is not directly used by used `hook_node_access()` and `hook_node_grants()`, but implementations of these hooks do. The node access system defines who can see and do what to nodes. So, if you are using nodes outside of page content (eg, using [Rabbit Hole](https://www.drupal.org/project/rabbit_hole) w/ [Nodequeue](https://www.drupal.org/project/nodequeue)), you can still hide your unpublished content from people who don't need to see it.
In the database, the 'node' table has a 'status' column. On 1, the node is published, and on 0 it is unpublished. Basically, publishing an unpublished node is setting this 0 to 1.