Waterloo is very much famous for its math and engineering programs, UBC has been ranked for having one of the best English departments in the world and best chemistry in Canada, and Toronto is pretty nice all around, but does have good engineering. However, while UofT and UBC are regarded as being "Canadian Ivies", Waterloo isn't. All are still very good schools, and there isn't a bad university in Canada really. I think you'd be satisfied at any of them. If not, in Canada you are allowed to transfer.
From personal experience, UofT is a very nice campus. It's in the downtown of Toronto, but you can tell where the city stops and the campus begins. Lots of transport, it's not in a bad area of the downtown from my impression of it, and their college system offers plenty of chances to get involved in the community even at such a large school (20,000+ student body).
UBC's not in my neck of the woods, and I haven't visited Waterloo personally. Vancouver where UBC is located has a reputation for being a very beautiful city/area, that's all I can really offer.
Oh, and prepare for snow. Everywhere.