In what way is it impossible for people to use GPL licensed software to develop commercial applications? Loads of companies do it and not every single one of them shares the source code of their product or products with their customers.
I tend to take a stance in the middle ground here. The GPL license and the BSD license serve different purposes, just like the rest of the plethora of licenses in existence do. It is up to the developers to decide which of those licenses suits them and their philosophy best.
I used to be a nearly religious advocate of the GPL v2.x licenses and their derivatives. In fact, in many ways I still am. The problem with the current incarnation, GPL v3, however, is that it contains more restrictions than freedoms. And while I am no fan of DRM of binary blobs in software, preventing them from being included in Free and Open Source software harms the cause of Free and Open Source Software more than it does it any good, to name an example. Add to that the fact that the legalese in general of the GPL v3 does not invite a sense of freedom (at least to me it doesn't) it could be argued that it actually foregoes its original goals, in favour of the licensing equivalent of hard marxism.
In other words, the GPL v3 doesn't suit me, so I tend to avoid it in my hobby projects. Fortunately for me (and the rest of the world) they're exactly that: hobby projects.