1) Many times, yes. If we want to analyze things logically, oftentimes people just need a safe place to stay so that things are stolen from them/they can avoid drugs/they can tell an employer that they live somewhere in order to have a more stable life.
2) Even if they don't suddenly get their life together, that is looking at things too logically in my opinion. In my opinion, it is the moral thing to help out the needy, and that means providing housing. America's big enough to do it.