Cloud computing provides on-demand access to computing resources like processing power, storage, and applications via the internet on a pay-as-you-go basis. It allows developers and IT departments to avoid undifferentiated work like procurement, maintenance, and capacity planning. There are three main types of cloud computing models - Infrastructure as a Service (IaaS) which provides basic computing resources, Platform as a Service (PaaS) which removes the need to manage underlying infrastructure, and Software as a Service (SaaS) which provides complete software packages managed by the service provider.