theme_hook_suggestions vs theme_hook_suggestion

There is a slight difference between $vars['theme_hook_suggestions'] and $vars['theme_hook_suggestion'].

$vars['theme_hook_suggestions'] is an ARRAY of theme suggestions, and the template at the end of this array has higher priority than preceding ones.

// example
$vars['theme_hook_suggestions'][] = 'html__' . $node->type;
$vars['theme_hook_suggestion'] is a STRING representing the template file to use and it has higher priority than $vars['theme_hook_suggestions']. Which means that if any theme suggestion is passed to $vars['theme_hook_suggestion'], $vars['theme_hook_suggestions'] will be ignored.

// example
$vars['theme_hook_suggestion'] = 'html__' . $node->type;