To understand more clearly, it may be helpful to consider illegal immigration to the United States. The basic problem is that even though US minimum wage is $7.25/hour some people are willing to work for $2/hour. The problem here is clear, even though the workers making $2/hour feel "its a fair trade."
Though less inflammatory, your unpaid internship example is the same. You are flooding the market with artificially cheap labor, making it impossible for others who can't work for free to compete.
Worse, as a business owner, how am I to compete with someone getting free labor while I'm paying my employees like a sucker?
At the end of the day, this "time honored" tradition of unpaid internships is little more than an end-run around minimum wage.