When you consider that 18,000 Haitian fled Haiti in 2004 and 2005 combined, the US accepted 9,000 claims per year from just that country. That would be more than 10% or their annual refugee allowance. While I agree with you that it is a shame that more Haitian refugee are not accepted in the US and Canada, I can’t really fault the American’s for capping a single country to allow others to equally benefit.
Having worked in refugee resettlement, I am comfortable quite comfortable being on this side of the disagreement. The formal definition of a refugee is someone who has crossed an international border while fleeing from war or disaster. Such people fall under the rubric of the UNHRC or the UN high committee for refugees, which will provide them aid in whatever their location of displacement, and try to resettle them in countries where they have a reasonable chance of making a new life.
At no point in this process is there any protection involved. It is assistance, and the two concepts are substantially different. Individuals emigrating from Haiti for example are not seeking protection, they are seeking better economic circumstances. As such they are not refugees or even asylees, they are just unfortunate folks hoping to improve their fortunes. The resources of refugee resettlement organizations, in particular the IRC, are limited and simply cannot absorb everyone.
Finally, your line of reasoning is somewhat odd, that pristine Canada shouldn’t return refugees to the mean old US. Canada refuses refugees not because it thinks the US will absorb them but rather because Canada simply doesn’t want them and doesn’t want the burden of repatriating. If you feel bad about the plight of refugees, just say “Canada ought to accept more refugees”, don’t waste our time by arguing that the US is bad because it won’t resettle refugees that Canada couldn’t be bothered to accept.