The restrictions for GPL code is nothing to do with whether it's used commerical or noncommerically, the same restrictions apply.
Someone can use your GPLed code commerically without paying you or asking your permission, and someone can use your GPL code noncommerically as well. In both cases they have to abide by the GPL conditions.
The point is that my motive is giving value to the public, in a way that prevents it "leaking" into private profits without compensation. The effect of the article-author's licensing is giving some of the value to the public and some to private profit-oriented exploiters, while the motive for preferring the latter over the former is not stated.
See this recent talk by Rob Landley, of BusyBox fame, on how casual and widespread GPL infringement is in large corporations, and why he no longer advocates the use of the GPL:
http://www.youtube.com/watch?v=SGmtP5Lg_t0
Landley's the guy who started the infamous BusyBox GPL lawsuits that then spiraled totally out of his control, so he has more skin in the game than most.
Obviously there will be some that violate the license, as there is with any license. But the point is that you do have _some_ sort of legal recourse if they do, and also, you make your intent clear as an author: this is supposed to be Free forever.
If your anti-argument is "people will just ignore the license," then using a permissive license isn't an argument either. After all, people will just ignore it.
The point is that users who would give credit will do so anyway (without needing a gun held to their heads), and those who won't, won't. A license only changes things by giving the recourse to sue in the latter case. If you aren't going to sue anyway (as Landley isn't, anymore), then there's not much point to using a relatively restrictive license.
I recommend watching the Landley talk. He used to be among the most rabid copyleft advocates, before the BusyBox fiasco and GPLv3.
For me, I don't believe I (or anyone) have any rights over information. Therefore, I use a license that assumes the smallest amount of rights possible (subject to legal interpretations).
My code, outside the day job, is GPL. Why should I let others commercialize it without giving anything back? But I want to allow noncommercial use for everyone, and commercial use for those who will contribute their changes.
I'm not saying everyone should have these preferences - in fact I admire the generosity of anyone who donates valuable IP to the public domain. It's just that the title is "Why your next project should be public domain", yet the author does not explain the motive for this type of licence over others.