At a given scale and software maturity, it is cheaper to buy your own hardware and pay for your own team to operate it. Generally, this is when you start thinking of your hardware needs in terms of fractions of an entire data center, but in simple cases may be smaller.
This almost is not ever true for software startups, who get more value from speed, flexibility, and not needing to pay a team to manage hardware. Just let [cloud services company] handle it for you until you reach that point.
And then when you do reach that point, you get to write the article about how everyone using the cloud are fools because it's cheaper to self host.