As an American who has visited Canada many times, I've always been struck by the high functioning of Canada's homeless population. There are a lot of homeless youth and young adults who panhandle, etc.
Also, in Canada the work force is far more competitive (higher unemployment drives this). The person helping you at a fast food restaurant is a good communicator, appears clean, and is helpful and good natured. Across the border in the US, many fast food employees are noticeably less able.
So my hypothesis is that due to higher unemployment, many "homeless" in Canada are in fact people who would easily hold down a job in the US.
The US homeless, on the other hand, almost all appear to have psychiatric problems or substance abuse problems. I'd speculate that few US homeless would be able to hold down a simple job even if they were given a $5K per month stipend and fully subsidized apartment for the first year.
Here's a good essay on Canadian vs American unemployment numbers. Structurally, the Canadian unemployment rate has largely tracked the American one, but been higher. The professor who wrote this essay delved into the reasons why and found that the unemployed in Canada were more likely to search out work and therefore be counted as unemployed (i.e. the definition of unemployed in both countries being folks who seek work but currently have no job).
Also, Canadians have traditionally been supportive of quality public education and other social institutions. The person serving coffee at a Tim Hortons working minimum wage probably was in the same school system as the person he or she is serving who might be a banker. Private schooling is typically relegated to the upper middle class/rich, and those parents who want to send their children to religious schools (e.g., Jews or Muslims, as Catholic schools are fully publicly funded in many provinces).
Speaking as a university dropout and child of a middle class family in the poorest, most stigmatized part of Toronto, it was expected of all my friends that we get a post-secondary education. There was no question about it. Census numbers seem to back this up (http://www12.statcan.gc.ca/census-recensement/2006/dp-pd/pro...). There were roughly 14 000 people aged 25-34 in that area of the city. Only 4 000 of these people had no post secondary education. Anecdotally, there's a Catholic high school in the area that installed a day care so that it could accept mothers (usually unwed teenagers of course). It was a little bit controversial when it was first started, but this was in the early 1990s long before these kind of things were normal. Incidentally, that same Catholic high school also supplied free condoms in their bathrooms, much to the dismay of the Church. There's much more of a push to be educated here in Canada than what I see in the U.S.. So that might be what you saw during your visits.
Also keep in mind that because we have universal health care, it's much easier for the mentally ill to seek and get the help they need before it's too late and they end up on the street. That said, I live in downtown Toronto now and most of the older homeless that I encounter seem to be mentally ill or have addiction problems. The younger ones usually come from abusive households, so that's what drives them into the streets.
Also, in Canada the work force is far more competitive (higher unemployment drives this). The person helping you at a fast food restaurant is a good communicator, appears clean, and is helpful and good natured. Across the border in the US, many fast food employees are noticeably less able.
So my hypothesis is that due to higher unemployment, many "homeless" in Canada are in fact people who would easily hold down a job in the US.
The US homeless, on the other hand, almost all appear to have psychiatric problems or substance abuse problems. I'd speculate that few US homeless would be able to hold down a simple job even if they were given a $5K per month stipend and fully subsidized apartment for the first year.