В данном случае - разницы никакой.
Если нужно будет устанавливать разные обработчики для данных - появится преимущество.
То есть если будут вызовы:
getInput({ name: 'Rich', speciality: 'JavaScript' }, logStuff);
getInput({ name: 'Rich', speciality: 'JavaScript' }, logOther);
getInput({ name: 'Rich', speciality: 'JavaScript' }, logToDisk);
Имхо в данном случае это не совсем callback, это просто передача функции обработки как аргумента.
Callback, это когда вы вызываете какой-то метод, который когда-нибудь (через несколько секунд например) должен вызывать вашу функцию с результатом.