Here is the culprit: When no other people invest in enhancements, there is also nothing that can go back upstream.
I like free software very much, but I also don't want to be forced to give things free, that I make. Problem is not the small enhancements I make to an OSS product, but when I link or use some OSS part in a bigger software that I made -- should I always be forced to give everything for free?
Particularly for companies, that is a difficult thing.
To be clear: Of course I would give away my contributions to an OSS product, but I also want to be free, to use OSS in commercial products without need to fear that I loose my own rights.
GPL here is just difficult and when lawyers have to decide about software, anything can happen (as in the patent-wars).