It worked out very well for the founders of all of those companies.
I worked as a dev lead for one company where we were our vendors largest customer (over 60% of their revenue). I recommended that we either don’t depend on that vendor for our new implementation when contract renewals came or that we insisted on them putting their code in escrow in case they were sold and they abandoned the software.