My accoster wanted to know if any of my students would set up the town's GIS for him. I was annoyed. This seemed like an enormous undertaking, and the fellow wanted it done for free. But if the job was worth doing, then it should have been worth paying for. However, it's true that there are times when a GISer could or should work for free.
Volunteers can gain practical, real-world experience.
Almost every high-tech job today requires experience as well as education. People can't get a GIS job without experience, and they can't get experience unless they have a job. Volunteering allows students to get experience to get a job. Within such circumstances, volunteering may be viewed as a viable tradeoff. The volunteer learns practical skills and gets valuable training on the job, becoming more employable when a real, paid position becomes available.