I was the UK equivalent of a co-op before (and during) my engineering degree. When I asked my then boss why they spent so much money sponsoring students, his reply was that it was the cheapest way to recruit good engineers (note that "cheap" in English means "cost-effective" in American - not plastic/naff/sub-standard). We got paid about 1/2 the salaries of the fresh graduates (and probably did more than half the work they did). Some of my university contemporaries complained that they were given crappy jobs to do by their companies when they were students, but my company threw us in at the deep end, making good use of the fresh young minds.
And for the student: You got to see if you like engineering before taking the plunge; you got better money than burgeer-flipping; you got a bursary (beer money) whilst at university. But most of all, come graduation you have relevant experience that many don't ... and for most, a guaranteed fall-back job.
As moltenmetal said, a win-win. Companies get the pick of cheap, fresh, intelligent young minds. Students get the experience they really need, plus an interesting job and term-time beer money.