It's just that with the programming tasks that you bring home, the hiring manager isn't wasting the that time with you. With programming tasks that you do during the interview, they are at least wasting the time with you.
Waste of time also, especially if you factor in a 2 hour commute each way.
It's generally inappropriate for someone to ask you to do more than a day of work for a take-home hiring exercise.