Я бы даже добавил, что
В func1(func2) - func1 принимает func2 как параметр, а в
func1(func2()) выполняется func2 и результат передается в func1
И по схожим причинам должно быть
function func1(func) {
func();
}
А не
function func1(func) {
func;
}
Мне кажется, автор вопроса не совсем понимает как работают скобки.