The downside is getting established can be difficult - many immigrants do end up in low paid sales jobs at appliance stores, driving Uber, working in fast food places etc. Living costs are extremely high (rent, food etc.).
Tech jobs tend to pay less than 50% of US equivalents (speaking from experience) though it is possible to work remotely for US companies and get paid substantially better than any Canadian employer would pay. Quite a few Canadians do that, but do have to constantly deal with the problems of cross border payroll as US companies cannot comprehend that Canada is a different tax system and keep screwing things up by filing stuff with the US IRS instead of the Canadian CRA and you then have to sort it out yourself and fill out mountains of paperwork to stop the IRS tax enforcement for taxes that are not due since you don't live in the US. Also speaking from experience.