Ultimately you have to balance the incoming immigration with the demands that produces, and that's where a lot of countries fall short. For being as similar as they are, Americans and Canadians have radically different experiences and opinions on immigration from India, for example. Why? Americans mainly think of them as either business owners providing needed services (even if it's just as the stereotypical convenience store owner) or people working in cutting-edge and important industries, because that's who American immigration policy allows in from India. Canadians have far less charitable views, because over the last decade or so, Canadian immigration policy has been far less discriminatory. Whether it should or not, this produces social friction with people who have roots in the society that receives the immigration.