So, I have a decent perspective on this, considering I grew up in Waterloo and subsequently know a lot of people who went there, are going there, and even a couple of profs. Also because I go to UofT :p

So, overall UofT is harder to get into actually, for everything except computer science and engineering. Engineering is the big thing at UW, people come from all over the world to study engineering there. It's insanely competitive, as you would expect, but they are doing a lot to improve the mental health of the students in the program.

(also by Canadian standards Kitchener-Waterloo isn't a small town. It's a decent sized city, but still much smaller than Toronto so I'm splitting hairs here)

They're both pretty great schools but international tuition is ridiculously high from what I hear. You do get health coverage for using the emergency room and general health services (it's pretty comparable to the Ontario Health Insurance Plan minus the drug coverage for people under 25) through the school via UHIP. Toronto also has satellite campuses in the GTA suburbs of Mississauga and Scarborough if you want the UofT degree without the hustle and bustle of downtown Toronto and the huge campus.

I will say UofT is more known for their research departments and that's why a lot of people go there, so that's something to consider as well.

All in all both are great schools both worth equal consideration...unless you want to do engineering, then definitely go to UW :P