Ah yes, the phenomenon I was describing does apply more strongly to consumer software. But it also does apply to B2B software to a lesser degree.
In effect the fact that your business model relies on charging for bespoke software, proves that you make no money on software that can be reused for more than one client! Which is actually where most of the efficiency of software comes.
Even if you want your software to be used by the public, it still doesn't need to be turned into a product, there are other schemes of financing it. You can, for instance, write it off as R&D (which is what programming actually is) or whatever category is assigned to the "donating to Linux Foundation" line in the spending accounts of IBM/Oracle/MS/etc.