If I make free software that looks terrible, and someone else pretties it up, complies with the terms of the license, and manages to sell a product, good for them.
Selling the product is not the problem, restricting the distribution is. Are you going to be happy if someone takes your terrible looking product then essentially limits it's distribution because they have just prettied up some css and images? What if this new product becomes more popular than yours, what if this new product starts making lots of money while your project dies in obscurity?
What you are saying is that it is ok for someone to essentially use all your hardwork and give you nothing in return, ie not allow you to use their work. Will you feel like continually upgrading your product while the person that can make pretty css and images makes a killing off it and you make nothing?
On the other hand if the images and css were GPL, you would be able to integrate the work back into your product, thus your enhancements would benefit the other developer and the other developers enhancements would benefit you. Basically you will then have a symbiotic relationship with the other developer as opposed to a parasitic one. It is my view that split licensed GPL / proprietary distributions are indeed parasitic, they take and give nothing in return.
I don't see a problem here. Especially when someone can take a free thing and add enough value to it, without writing code, that people are willing to buy a free product.
WordPress has decided to enforce their philosophy by restricting people who contribute a product that, some can argue, enhances WordPress. And restrict them from interacting with the WordPress community. That is a difficult situation, to restrict contributors because what they contribute isn't free.
I think you are confused about this. Nobody is restricting anyone from selling the product - WordPress actually hosts commercial GPL themes on their main site. The problem is limiting distribution, something I feel is wrong due to the reasons I outlined above.
Coding is easy; All you do is sit staring at a terminal until the drops of blood form on your forehead.