As far as I understand, C++14 introduced std::make_unique because, as a result of the parameter evaluation order not being specified, this was unsafe:
std::make_unique
The reason is to have shorter code without duplicates. Compare
f(std::unique_ptr(new MyClass(param)), g()); f(std::make_unique(param), g());
You save MyClass, new and braces. It costs only one character more in make in comparison with ptr.
MyClass
new