Anyone can take a piece of GPL'd software and modify it as much as they'd like for their own use. There is absolutely no requirement to publish or "contribute back" those changes. (Think, for example, about Amazon customizing or modifying Xen for EC2. They do not have to publish their modified code or share it with "the community".)
If, however, you share binary/compiled/etc. forms of your modifications, you are then required to make the source code available.
Many, many years ago (I'm not sure if this is still true (I doubt it)), MySQL was dual-licensed. It was free for personal use, for example, but if you wanted to 1) use it commercially or 2) run it on Windows, you had to pay.
Perl, AFAIK, is still dual-licensed under the GPL and the Artistic License.