This is my understanding:
The only free part of the GPL as in "free beer" part is concerning the distrubution of the source code.
No cost = no cost to you and the people your giving it too.
You can actually charge money for the source code if you want, but only to make up for the cost of distributing the source code.
For instance it would be legal to do micro-payment sceme were you can get the costs the bandwidth of downloading the code from FTP. Or if you distribute the code on cdroms, you can charge the cost of the cdrom medium. But it has to be not-for-profit.
One good example is the Redhat enterprise distros. You CAN'T get the binary free from Redhat. But you can get the source code, you can go to their ftp sit and download all the GPL'd software code for free right now if you want.
So people have done that and release their own versions based off of the GPL parts of the the enterprise versions from Redhat.
Then once you recieve the code it's yours to do with what you will. You can modify it, change it, use it in other programs. Anything you want with one exeption: You have to honor the copyright of the original author.
There are plenty of little distros like CentOS that use Redhat sources.(I have no clue to the quality of CentOS or anything, I just found it on a quick search thru google as a example, there are probably more popular ones out their)
The original author(s) still has the rights to the copyright. Once the author releases the code in GPL, it can remain GPL as long as their are copies of it floating around. However the author of the code can turn around and re-release the code under a different liscence, even a propriatory closed source one, but he has to honor the contribution of other authors because their patches would still be under their copyright.
So I could release "foo 1.0" program under GPL. Other people can get "foo 1.0" and modify it to make "foo 2.0". Now I can sell "foo 1.0" to MS and have it closed source, but if I tried to sell "foo 2.0" to MS that would be illegal because it's only partly my work, I would have to get agreements from the other authors and I couldn't stop people from releasing their own versions of "foo 1.0" if they obtained it under the legitimate GPL ways (from me orignially or from any other person)
That's what would make the GPL powerfull in court, because it is only a extension of the traditional 1000's of years old idea of copyright. Because it is only used to allow the author the right to let his work be shared among lots of people.
For instance I run "Evil Bastard inc.". I take "foo 1.0" you made and released under GPL and sneak it into "foobar 2000". You find out, we talk, I blow you off and you decide to sue me or get a injunction against me profitting from your work.
Now I at "EB Inc." have very good and very evil lawyers and we convince the court that GPL is invalid. Well I would still be screwed because then I would still be violating your copyright, and would have to pay you damages or honor the injunction or whatever.
A person caught violating the GPL is stuck in a no-win situation.
RMS is one of those guys who are VERY good at playing games like chess.
This sort of thing is a bit confusing at first, but easy once you understand the basic concepts.
The one major wrinkle in this is that if you obtain GPL software and modify for your or your company's private use, then you are under no obligation to release or give away that code for free. The free release stuff is only triggered once you try to release binaries/code or try to sell it.