Not so black and white
I think that the cloud has shown to be the perfect platform for small scale and dev and test deployments that do not need to run 24*7 or to have large hardware resources. Public cloud is not the solution for long running "big" systems such as a bank payments system because these systems are long-living and need lots of horse-power.
The other big negative of the public cloud is that a company loses a huge amount of control of their data and resources, and compliance can become a nightmare.