At the end of the day graduates have studied hard and if they are at any point giving their time to a company they should be compensated, even if they have no experience. To not pay them and make them work is worse than running a sweat shop, at least those people get paid. I would sooner slash my own wrists than take advantage of people like this and it's sad to see that so many companies take advantage of graduates in this vulnerable position just because the opportunity presents itself.
You would think companies would take the moral high ground or at least take a stab at changing the status quo on this but sadly a minor profit is worth more than a human beings dignity, self worth and self esteem. They also shoot themselves in the foot as those people who have studied look to these companies with deceit (and rightly so) and these people will either talk badly about the company therefore ruining their reputation or jumping ship as soon as they have a little experience under their belt.
A company should work to mould these individuals into positive contributors to society and allow them to grow positively and in properly supportive environment. This would also work well towards these people talking highly of these companies and even then if they decide to leave after a period of time these individuals can recommend such a company increasing the esteem and social standing of the company and increase business too.
Too bad companies favour the "don't work there they are bloody slave drivers" opinions nowadays.
</rant>