I see two reasons: (1) A very small proportion of the applications ever built, constitute ballgame-changing breakthroughs. The other applications could still make some money, but not much. (2) The closer to the client, the bigger the slice in the value chain. A client may pay 5000 USD for small modifications -- often only applicable to his own setup -- to a program that may only have cost 100 USD to buy in the first place or that he even downloaded free of charge. In other words, for lots of developers, it makes economically more sense to customize a ball-game changing application for a client rather than to spend their time trying to push self-created but actually mediocre applications.