I have lived in 3 of them, and worked in two of them. So I'll cover Vancouver, Calgary and Montreal:
Calgary: Landed there in the winter of 2017. Beautiful city, very affordable to live and very easy to find work in. Had the best of my time in the past one year in Calgary. But professionally, the city is dead. No job opportunities, no scope or growth, hardly any business expanding. As they say - the Rodeo city has never gotten out of the 2013 oil recession.
Vancouver: Stayed there for a project for about 2 months. Again - very beautiful, very happening, and not cold - almost an antithesis to Calgary (and much of Canada in terms of weather). But freakishly expensive. Even though my costs were covered by my company, I had friends who were paying close to 65% of their take home salary to rent only,and that too for places far removed from Vancouver city. Also, the top paying jobs are far less and a lot of people are busy working entry-level and lower mid-level positions only.
Toronto: Got promoted, and transferred to company headquarters in Toronto in February this year. Now this city is HUGE! I am talking about the GTA, and not just about the Toronto city.
Job opportunities are huge - just looks at this stat on
IT jobs in Toronto. And on top of that, there is room for moving top of the ladder too. So professionally, I would rate this city the best in Canada.
It is not really beautiful - a lot of filters go behind getting a good picture since it is a concrete behemoth whereas the rest of Canada you can practically close your eyes and every time you open them you feel like walking into a wall paper.
Rents are high, but not insanely high as they are in Vancouver. Also, with the nearby cities of Mississauga and Brampton well-connected, it increases in its expanse. So definitely a good choice for any immigrant.
Rest, nothing beats personal preferences. What suits you best is where you should make a home for yourself. I am still deciding on mine.