Cloud is not cost effective on static landscapes
Because you can optimize for those as you know exactly what you need and what you will need. In these places, a three-month long capex approval process followed by another three months of server builds and configuration is simply ok because these requirements are not urgent. Of course, assuming you don't hit any capacity limits on other places, such as power, air conditioning, rack space, etc because then you'll be facing a much larger capex increase and setup process on that case. But that's not a problem on your 5- or 10-year-old application because you really know what is going to happen in the next year.
Things are quite different on dev environments or on places that cannot easily project their growth. You cannot simply wait three months to get a product feature rolled out or expand some capacity limit. In the on-prem world, you either have planned a year in advance for those events, or you're dead. In a cloud this is not usually a problem.
Also, on an unrelated note, all comparisons I've seen for on-prem vs. cloud costs tend to favour on prem by quietly ignoring some infrastructure costs. Rarely I've seen all of real estate, power, cooling, cleaning, staff, bandwidth, backups and redundancy (for all of these) properly accounted for. On prem assume "zero" on some or all of them because they draw from some already amortized on prem item.