Freelancing for free offers a great learning experience.
When I first started university to get my CS degree, I opened up a c++ message board and tried to help as many people as I could. I created many projects for free.
I don't really view it as 'free' though, because you are getting so much knowledge from these freelancing projects. And I'm sure many members on this forum would agree that creating projects for people *such as hacks for vBulletin* gives knowledge that php/mysql books can't offer.
Unfortunately I've become so busy with my personal projects, that I can no longer freelance for free.