Yes it is true that if a company helps but does not entirely solve a problem, they are not obligated to stick it out. But in this case it may be that they are not helping by offering homeless people seasonal jobs. The fallacy here is that homeless people have a choice: if I were in a desperate situation, then I would take any job on offer. I.e. by being given the option the decision has essentially been made for for me, and whilst I may be better off in the immediate future, that doesn't mean it will last (and it could even be worse in the long term), and whilst I could decline the offer, and wait for something more stable, my circumstances are sufficient motivation for me not to do that.
A cynical person might even posit that by explicitly not doing enough to bring people out of homelessness, Amazon succeeds in maintaining a pool of willing and cheap seasonal labour.