I think the question is why users put up with having software that doesn't suit their needs and that they can't fix themselves of hire someone to fix it (like they would do with a bad plumber). It's simply because they don't know they have an option.
The GPL proposes to give users that right. Since I am in that uncomfortable user position a lot, I am all for it.
The question then becomes, can a user hire any developer for a fix, rather than being at the mercy of the original vendor? This right not only keeps hourly rates more reasonable, but also takes away the vendor's incentive to use bad designs that lead to customer lock-in.
For a perhaps overused metaphor, I wouldn't buy a car with the hood welded shut.
Because selling copies is far more scalable and profitable?