But the ultimate cost in everything is the cost of labor. On-premise solutions require on-premise administrators, with full time salaries (who are mostly sitting around waiting for work or problems to arise). It is far simpler and cheaper to contract the work out to a cloud provider and pay hourly for a tech's time. If you are a highly competent sysadmin you probably aren't working at a dental implant company. So the kinds of people non-tech companies hire are usually going to be lower quality and get paid less, increasing security risks
Companies use the cloud because then they don't have to hire a dozen sysadmins to manage their servers, they can focus on building the actual product.
If I can choose between having 12 developers who can manage AWS and having a rotation of 8 sysadmins wrangling in-house servers in three shifts and 4 developers, I'll always choose the one with more developers.
It’s also a once off (kind of), and there are very established patterns to follow.
The value of cloud computing is that it gets business logic in production fast with unlimited flexibility and a reduced dependence on cost center specialists in areas like operations, security, and database administration.
With cloud computing I can deploy my entire stack to a region in another part of the globe with ~10 lines of configuration, terraform apply and it’s done. I’m doing things by myself that I used to rely on multiple other people to handle (like setting up and maintaining databases, networking, firewalls, security tooling, etc).
I also used to waste a bunch of time maintaining vendor products that had nothing to do with the business. I used to have responsibilities like Jira administrator - ick!
The last time I worked for a company that had an on-premise data center I had a months-long email chain where I was told we were basically out of storage in a specific region so I had to wait for the VMs I requested.