Many people talk about cloud computing, but few people understand what it really means. To be succinct, at its core the Cloud is simply internet-based computing. Instead of your applications and data running on a client/server motif, shared resources, software and data are all stored on the internet, rather than a centralized server at your company's office.
You may already be using cloud computing and are completely unaware of it. Google's GMail and Google Apps, Flickr, Dropbox, Salesforce.com -- all of these are great examples of cloud services. There are plenty more, but this gives you an idea of how cloud computing has actually become widespread.
The advantages to cloud computing are many. For example, a business or user doesn't have to use up their storage for their data. Data can be accessed from anywhere, usually with nothing more than an internet connection and a web browser. Data is backed up and secured off-site, with redundancy in the event of failure that most users and even businesses cannot afford to maintain.
There are, of course, disadvantages to cloud computing. For instance, the hacker attack on Google this past January just shows how insecure your data can be. Of course, the weak link in the security chain is usually the human element: social engineering, fraud, and easy-to-guess passwords.
This leads into the security of your data. If a cloud services company can get hacked, then your data can be compromised if it is not encrypted. Industrial espionage is not new, and was reason behind the attack on Google and numerous other companies. The more secure your data needs to be, the less ideal cloud computing seems. If you have data you need to share but it isn't sensitive, then it's no big deal if someone sees it. Otherwise you need to encrypt all of your data, or avoid using the Cloud.
Another disadvantage is access. Some companies, or even countries might not let you access your data from their location, even if you use a secure connection like a VPN. What if the internet connection goes down? On a local network you could at least access your local network server to access your data, or your email. But not if it's in the Cloud.
There are other aspects of the Cloud that don't apply to consumers at all, such as Amazon's EC2 service. Here, you can boot instances of virtual servers to host your company's web-based business without having to buy space in a datacenter or physical servers. The major drawback is simply the matter of connectivity. If Amazon's service or network connections go down, your site goes down. But this is true for any datacenter or internet-connected office network.
These servers are more secure than standard cloud services as noted above. They are limited by your own security measures that you enable on each virtualized server. Depending on someone else's security claims as your sole line of defense is usually not a good idea.
So where does this leave us? On the business side of things, I wouldn't recommend using the Cloud to outsource your email unless you have encrypted all of your communications -- not unless you don't care if your competitors can end up reading all of your emails. The same goes for document storage.
If the human element is the weak link in terms of security, remove the link. Make it so that even if someone hands over their password to a stranger it won't have any effect on your data. If a Cloud service guarantees that your data is safe, get it in writing that they will pay damages in the event that the data becomes compromised by an outside party.
As for consumers, you have fewer options. Not everyone has the resources or ability to host their own servers. For most consumers, Email is through a service like GMail or Yahoo or Hotmail. If you use one of these services, change your passwords regularly and don't use any easily guessable words, such as names of relatives or pets. Don't use security questions that can be guessed, period.
Without going into a whole seminar on user security, it boils down to using (un)common sense and never giving your login credentials to anyone that asks for them. Use the Cloud services, but don't keep sensitive information on them. You have a computer, desktop, laptop or otherwise; save your private data to your hard drive and wipe it from the cloud service. There's nothing wrong with using Cloud services, just as long as a little preventative medicine goes along with it.
As for the future of cloud computing, that remains to be seen. In the early days of shared computing, everything was done on a mainframe where data was accessed on dumb terminals. The move to client/server technology changed all of that. The internet brought the advent of internet-based computing, a global scope re-imagining of the early days of centralized computing. What is old is new again.
The devices we use may determine where we go from here. If we all end up using lightweight slate devices, web-based Cloud apps and services may take over the majority of how we do business and conduct our personal communications. I think it would be safe to say that people may want their own personal, isolated online storage; a place where they can maintain their data and web-based applications rather than shared space.
Still, I doubt that the Cloud will ever completely replace individual computing needs. There will always be a demand, however small, for storage and services that are directly under the control of the user or business that requires them.