I too am from UBC and did 6 terms of coop...in Waterloo (guess which company) .
From what I observe, their coop model is completely different from UBC's. The 2 are completely different in nature.
From speaking to Waterloo students, it is obvious to me that the point of coop is to cram as much real life experience into the students in as little time as possible. Note that I say real life experience, not work experience. Many students have to sublease, go to a new work for 4 months, move back to Waterloo, lease from another student who is going to work, go to school for another 4 months, and repeat the whole cycle. This is a very hectic schedule. If you ask me, the point of this is indeed to keep you from being grounded, and not to be complacent in your place.
Another real life experience you gain is you know _a lot_ of potential employers. Most students I know had at least 4 supervisors they can contact after they graduated. This creates a very interesting dynamic where many students are not that concern about future employments because they know they will get hire by someone.
A very interesting situation I noticed is that class knowledge are quickly put into use. For example, in the previous 4 months the students would learn basic data structures (in C++ ! Not with Java like in UBC), then the next month they have to apply what they just learned in a professional environment. I would say say that this is actually good for learning as the knowledge is fresh in these students' heads, and they have all the real programmers to help them out if they don't understand something.
Of course, many students don't care about coop and just get though the 4 months. During my time there I saw many job postings in University of Waterloo's coop site that are plain bullshit. This is understandable though as really, no coop supervisors I talked to really expect U of W coop students to be very useful (at least not that useful with only 4 months worth of work term!)
Their engineering curriculum is much accelerated compared to UBC's. Stuff that are taught in UBC 300 classes are considered 200 classes in U of Waterloo. As I set though their classes, I was pretty impressed at the students' ability to retain what they learn, with all the switching between work and school. Many UBC engineering/comp science students I know would be hard pressed to maintain their grade.
Most students I talked to are fine with the hectic schedule. These students knew what they were getting into when they entered. Those who don't are washed out quickly.
In comparison, UBC coop seems to expect you to actually learn technical knowledge from the coop. This is a more traditional model where you spend 8 months with your head under water, then you can go back to the academia world of UBC and digest what you've experienced (and maybe alter your graduation goal). U of W requires its students to do this every 4 months. Continuous for 3 years. Maybe you like bioengineering? Do a 4 months coop and find out you hate it. Then try a financial engineering firm next. Don't like it either? Well try a different engineering firm next coop term.
Looking back, I sort of agree that UBC coop can be of less value compare to U of W's, but that's only because they have different aims.
PS. U of W's computer science coop _is_ optional. I only know 1 person who opts out of it, however.
PS2. I don't know if you know, but U of W's tuition is almost 2x as much as UBC. Coop is a good way to pay it off :) And many students see coop as such.
PS3. Thank god there's Wilfrid Laurier University 900m away from U of W. Now that's a party school with all the 'happenings' and art students.