One of the arguments for immigration is that it allows individuals from countries with less opportunity a chance at a better life. This is mostly false. It should be noted that the quality of immigrants that Canada accepts tends to be the highest possible. That is to say that these immigrants are, generally, already well connected, wealthy, and/or have marketable skills.
By accepting these individuals in Canada, the foreign countries from which they come from suffer. Canada is effectively plucking the best and brightest from these countries, which has a negative impact on their societies. The effect on other countries is that those that have the connections, money, or skill to make changes to their societies will no longer be there. Of course, those that immigrate here are choosing to do so but the damage to their country must be acknowledged.
I believe that the best way to address world poverty and suffering is to help these countries become more modern so that they have an improved quality of life. As part of foreign policy, I would propose to foreign governments to allow (paid) Canadians to move abroad to help improve and modernize their countries.