Here is my practical experience. In the last 2 larger software projects I WANTED CLOUD. I did not care about the cost. Why? Because in BOTH CASES (and sadly I did not get my will) IT inhouse was COMICALLY expensive and EXTREMELY incompetent. Inhouse VM? 3-6 months waiting, 2 years commitment, no manual refresh (all via billed ticket, taking days) so no "have vm's for installation tests that the test script can roll back to a known config. It was comically to try to work with them. In the LAST project the whole development team (which consisted mostly of my employees, thank heaven) ran the whole development unauthorized OUTSIDE of corporate IT with full knowledge of the project managers - at least there we could get VM's behaving fast.
Your post is nice and dandy, but it totally ignores the clusterfuck that corporate IT is in many organizations with workflows that are so encrusted that all the Advantages are lost, to a degree that cloud is already significantly cheaper than IT (vm cost on my last project was 5x azure, no joke) while providing nearly none of the services. Incompetence and captured market and tons of managers make sure that the delivery is an AWFUL product.