The same could be said of any trainee. You can spend weeks or months training someone without any guarantee they will work out. And many times they don’t. There is a huge cost and risk associated with training. But you don’t expect the trainee to work for nothing. Same with an intern. In many cases, the company selects the best and the brightest for their intern program. Even though the task at hand may be mundane, they are watching them to see if they will make a good future employee. Think of it as prescreening to reduce risk.
Its a sore point with me as I have seen some companies take advantage of interns. I just think that if you work, you should be paid. Not saying they should get gold plated wages—just fair compensation for their time.
Because our society has conditioned people to think they have to go to college and work in "exciting" jobs, which always include air-conditioned offices and almost never include making anything, the "exciting" jobs can bid down wages, even to zero, and still have people lining up to take them.
The less exciting ones even have to pay their interns well to get them.
I will say that the companies I've worked for and interns whom I've worked with have always been treated well. We would give them gasoline cards, commuter passes, meal allowance, etc. We would have even paid them something, but it would have put us over corporate headcount targets or run us afoul of the labor laws. In all cases, we were approached by the interns (or the people who sent them such as colleges, vendors, etc.) asking for such positions, not the other way around.
I realize some, probably even the majority, of companies do not behave in such an ethical manner and use interns simply as a way to avoid hiring temps because they can. I just do not want to see another government edict enacted which shuts kids out of possible opportunities because some abuse the privilege.
The best check against such abuse is a fluid and dynamic economy which forces companies to compete for labor resources in the same way that people have to compete for jobs.