Content Type template override - Dash or Underscore?
If you look at theme_get_suggestions(), there is a comment:

// When we discover templates in @see drupal_find_theme_templates,
// hyphens (-) are converted to underscores (_) before the theme hook
// is registered. We do this because the hyphens used for delimiters
// in hook suggestions cannot be used in the function names of the
// associated preprocess functions. Any page templates designed to be used
// on paths that contain a hyphen are also registered with these hyphens
// converted to underscores so here we must convert any hyphens in path
// arguments to underscores here before fetching theme hook suggestions
// to ensure the templates are appropriately recognized.


If you look at a preprocess, like template_preprocess_node(), you will see things like:

$variables['theme_hook_suggestions'][] = 'node__' . $node-&gt;type;


This is using the machine name of the content type directly, which is underscored.

-- is a delimiter between things, underscores are used within a thing.