It seems that these days cloud is just as overloaded a word as service. If you're in the cloud, does that mean that you are using someone else's software on their servers, are you running your own software on someone else's servers, are you providing the servers for others to run software on, etc.... As you can see, embracing the cloud is not one simple action. To try and bring this down to the simplest level to which I would convey the cloud concept to the computer illiterate, running with the cloud comes down to two simple roles: provider and consumer. Are providing software/services/hardware to the cloud, or are you consuming them? These roles however need not be mutually exclusive. One can both provide to and consume from the same cloud.
To consume pieces of the cloud, you essentially go to a site and just start using it. This can be a desktop e-mail replacement (see GMail), a targeted community site for business enablement (see BPM Blueworks), or an off-site synchronized backup service (see Dropbox). The common thread across these services is a single point of entrance and that is the only address you will ever know. It does not matter whether your data is stored in California or Maine, whether the actual host you are working on is running in Dallas or Seattle. The rich-internet application, paired with the cloud, moves much of the desktop capability into the browser. So instead of needing to install an application on your desktop, just point your browser to the correct location and you are off & running.
To provide pieces to the cloud, you can either provide hardware or software. To provide hardware, you'll need to dynamically or predictively allocate system resources, usually across multiple sites (see WebSphere Cloudburst Appliance). To provide services, you will generally implement a security-enabled web application that can be accessed from multiple points, be it a browser, appliance, or mobile device. You will no longer need to manage an install base for each set of users. It's almost the Java philosphy of write once, run anywhere applied to application consumption -- deploy once, use by anyone.
The biggest advantage of the cloud is that 99% of the people in the cloud do not even know it. There is no need to address the fact that one is using a cloud-enabled application. One of my biggest goals for software is it should just work. Out of the box, with little to no configuration, the general user should be able to navigate. The cloud model allows users to sign up and start leveraging whatever is being provided.
Feel free to add comments to below, and build on a working defintion of cloud.