Cloud computing is the delivery of a computing resource via the Internet and as a service. Commonly associated with software, cloud computing could theoretically be any computing asset or object being delivered via the Internet and as a service.
Cloud computing has its roots going back to the mid 1990s when Application Service Providers (ASP) were popular and delivered hosted applications as a service via the Internet. ASPs were unique because their applications were delivered to customers on a one to many basis. So, instead of a customer buying an application, hosting it and maintaining it themselves, they contracted with the ASP to do it for them. These ASP companies were close cousins to Managed Service Providers who delivered other forms of computing resources on a one to many basis, also as a service.
Today, the "cloud" is often used to refer to the Internet or "online" by non-technical people, and has taken on a very generic meaning. Cloud computing today refers to both consumer and business grade solutions, from storing photos and music to performing complex computing services for businesses and organizations.
There are also large companies, like Apple, Microsoft, Google, Amazon, and others, all of whom have their own cloud computing environments. For example, Apple's iCloud is a popular consumer platform used to provide email, photo storage and sharing, music stream, movie viewing, and other services. Amazon, on the other hand, has developed a cloud platform which is widely used by companies for cloud computing solutions like storage, security, etc.
In contrast to these "public cloud" vendors, there is a growing movement of MSPs who are developing "private cloud" platforms, which have a number of benefits and distinctions when compared to public cloud offerings.