It's just greed on the vendor side and apathy on the customer side. SaaS should only be for companies too small to afford their own infrastructure. It's not rocket science to leave a server running a VM or three in a closet in your office.
You don't just need to buy a few servers and licenses. You also need to also factor in the cost of employing someone competent (or the cost of paying a third party) to manage those servers, and arguably pay a premium for someone (or, again, a third party) who knows enough to manage that sysadmin and ensure that they are in fact competent. That ain't cheap. I don't know what you consider "too small" but I imagine you could get to hundreds of employees before it starts making sense, if you're not in an industry where you'd expect your staff to just incidentally have that kind of savvy.
That's not even getting into the true apples-to-apples comparison of what it takes to stand up in-house infrastructure that has redundant power, redundant cooling, is geographically redundant, has hot and cold backups, etc., that I'd expect any big name SaaS vendor to be offering.
There's also then the scalability issue, which to be fair is a bit different from the case you're describing. If you're a relatively new business and are unsure if within your infrastructure lifecycle your needs will remain stable, or grow by 20%, or by 50%, or by 100%, or more. Paying someone for what you need rather than trying to project is a useful hedge.