It's a common argument against the idea of intellectual property. The argument says that if I "pirate" a copy of your software, I have not taken property away from you - you still have the software. In the same token, if I modify GPL software and start making money from it, I have not taken away the source code from you. My making money from your software does not amount to theft since you still have the source. You may not be able to take advantage of my improvements, but if I wasn't afforded the chance to make money, there'd be no improvements to be redistributed. Anyhow, such arguments don't cut much in the GNU world - which is always odd since they don't believe in IP rights. Anyhow, it's a dead end.
As for why business uses GPL software, the question is a bit more complicated. Some companies would like to make refinements to the software and sell those refinements. Other businesses are only in the business of changing the code for in-house use. And then there are some that try to blend these - ASP sorts of models - where the software is kept in-house but is sold as a service. Finally, some businesses participate fully in GPL software, giving back all modifications to the community - akin to a loss-leader strategy.
I would note that FSF has been vocally opposed to open source licenses that require those that modify the software to make their contributions publically available (even for in-house apps). The JCP being one they have argued against since it requires that you make all modifications available to Sun - Stallman has gone on record saying that this violates the concept of Free Software (though he has many other complaints about JCP that go beyond this one clause). Another license that's been criticized by FSF is the one attached to Squeak, which has a similar clause, though that project is not attached to a corporate entitity.
Personally, I think it's a balancing act that must be made. Lest FSF forget, the purpose of free software is not to prevent others from using or making money off of source code. The purpose is to make as much software available under the GNU terms as possible - and to make that free software as splendid as possible - and to make it as widely used as possible.