Con: lots of people seem to think it is the only way
Fact of the matter: running cloud infrastructures is as complicated, if not more complicated, than simply creating and hosting your own data center. The propaganda is thiiiick and those being told the cloud is not the only solution literally melt down when proven wrong. I've created server clusters, co-lo'ed them and maintained them through years, and ddos attacks and more - and I just figured it out, probably just like anyone working in the cloud. But, and this is a HUGE BUT, the monthoto-month expence of owning a cluster is merely the co-lo cabinet, for me that was $600 for a full cabinet. This is in contrast to the same setup at AWS is $96K per month. No brainer if you ask me.
Pro: You usually don't need to reinvent as many wheels, and this is generally more true the more the cloud and its userbase align with you and your needs. Clouds are also generally set up to cater to different forms of opportunistic development or opportunistic project spin-ups, which is a similar sort of advantage.
For me the biggest Pro: is that I can rent machines, connected to the internet where I have total freedom on how powerful the machine is and for how long. For example, I can rent a low performance system for continuous internet access, and/or a very high performance system only for a few hours to get a critical task completed.
There are also several Cons: Data ingress and egress charges become considerable if you are moving a lot of data. You are using other people's hardware and infrastructure, thus you do pay a substantial margin over the cost. Your data can become inaccessible and might be less secure.
As with every engineering situation, you need to understand your requirements and then weigh up the pros and cons to arrive at the optimal solution to any given problem.
For example, if you don't have the technical know-how to setup and administer servers connected to the internet, then having it all done for you is a huge saving in time and effort. The incremental cost being far less than the alternatives.
Another example, if you need to process large quantities of confidential data on a regular basis, then having a suitable in-house computer system is likely to be a more secure and lower cost approach.
I think the "con" is something like the statistic I heard: only about 30% of enterprises admit gaining any actual actionable intelligence from their cloud migrations.
We possess the tools now for strong AI, we just need to figure out how to apply them ;)
Con: The biggest public clouds are extremely expensive if you want good performances.
I don't like their walled-in, complicated stacks.