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->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.