Консультант обычно лучше знает предметную область, лучше умеет общаться с клиентами и проводить презентации, он должен хорошо знать программирование
В некотором смысле у него выше ответственность, так как он делает постановку задачи, которую потом реализует программист
Он чаще ездит в командировки по клиентам
За все это ему и платят больше

Кстати, разница в оплате, насколько я знаю, не слишком велика
Хороший программист может получать раза в 1.5-2 больше, чем плохой консультант