I'll try to clarify. I met a large number of people who had all the tools, facilities, ability, and help they needed to not be homeless and still chose to be homeless.
Just as an example, one young man I spent a lot of time with had a family that wanted him to come home, but who wouldn't let him smoke weed in the house. I wouldn't have called him an addict by any stretch, but it was something he was unwilling to give up. He was a strong, able bodied guy that could have gotten a job. Despite all of this, he decided he'd rather live on the streets and do what he wants. (Could he have had severe mental problems and be making all of this up? Sure, but I don't believe that he did).
It's actually the biggest reason I stopped volunteering. Over the years that I volunteered, I noticed a steady shift from people who really need and/or want help to a large number of people like the young man I described. When helping out the homeless people you can't pick or choose or make judgements, so you treat everyone equally. But it became very hard to hand out things like sleeping bags to folks like that young man and then see people who really did have nothing unable to get one.
But, yes, in your example if you offer anyone a free million dollar house they will take it over living on the streets, but I don't think that's a very realistic comparison.
Also, to be clear, I'm just some dude. I don't have any realistic answers to fix the problem.