If they don't want to better themselves what can you really do. I mean it's sad to see people who are living on the streets, but you have to realize some of them have gotten so used to that life that they can't or don't want to change. Like others have said they have either mental illnesses or have drug addictions and instead of using the money for stuff to help them out they want their drugs to feel better or assume that nothing else will help them out.
I don't live in Canada (i will soon, but that's a different story), but i've been around homeless people. I went to little tokyo in california, and knowing that little tokyo is a safe place I still ran into homeless people. This one lady wanted money, cigerettes, a cup of coffee and food. I told her no because she was a druggie, then I ran into her again and she just started yelling at me saying you just don't want to help me out at all and only care about yourself, so I asked her what about you why don't you do something to better yourself.
I've ran into homeless people in Salt Lake City (Utah) who we're really poor and trying to make a living for themselves, but couldn't make enough to actually support themselves. This one guy he was playing keyboard and trying to make money to help support himself (he's a musician and depends on that) he played really well and was really good so I gave him some money.
Those are two cases i've encountered one was of someone who wanted something for nothing, someone who never wanted to better herself and the other case was of someone who was trying to make an innocent living. So all in all it is their choice.