Согласно документации it:
Вставляет объект, созданный с помощью аргументы args в контейнере тогда и только тогда, когда в контейнер с эквивалентным ключом.
Но единственные объекты, которые могут быть вставлены в unordered_map, имеют тип std :: pair
(потому что и ключ, и значение необходимы для объект, который нужно вставить), который, как известно, принимает конструктор ровно с двумя аргументами. Так почему же он использует вариационную форму функции? Конечно, есть что-то, чего я совершенно не понимаю по этому поводу.