The $content variable is really useful when writing templates, but I've found that it's not fully populated when using a custom view mode.
I'm using node_view to create a render array of a node. When I use "full" or "teaser" view modes, the "content" variable of the array is populated with lots of render information as we're accustomed to using. When I specify a custom view mode, which I have defined using hook_entity_info_alter, this variable is sharply less populated.
What is special about the built in "full" and "teaser" modes that causes drupal to fully populate the render array?