For a small company without any IT staff cloud services like gmail make sense unless there are security/privacy issues. It's simple and everything is handled by gmail. But that's also the big problem with it. If gmail has an outage you can't send or receive email. And yes, that already happened several times. So much for high availability If you need a special feature which isn't supported by gmail, you got bad luck. Can you do it better? Yes, with a savvy IT staff you can achieve less downtime, get more/special features, anti-spam as good as gmail (or even better) and so on. A single unix admin can do that without much struggle for several services, not just email.
There are other email cloud options other than GMail so it's not 'gmail or nothing'. ;-)
I would think that the larger the company is, the more it makes sense to have email and cloud services in house but this this is just another outsourcing dilemma.
Personally I use some cloud services (email, shared docs, music repository, version control, file transfer) and not others (photo albums, backup).
BTW, one of the most popular cloud services are from Amazon (storage and computing). It's interesting that they are not mentioned here. They are required though higher level of sophistication than using let's say web based email. Never used them by talking with people they seem to be very popular.
AWS is freaking awesome.
I work for a large company and we have a huge number of things on "the cloud" now, primarily because it is SO MUCH less expensive to scale with cloud services than it is in-house. I can go on to AWS and have 3,000 identically configured servers up and running in about 3 minutes. We've done this several times, so that's not a theoretical number. If we were to attempt that in-house, we'd need to have enough infrastructure go unused to spin that size of a deployment up at any given time, so that's time spent procuring servers, VMware licensing, cooling and power capacity, hiring people to keep them up, and accounting things like depreciation and other things that affect the bottom line. When we don't use servers on AWS, we don't have to do or pay anything.
Also, there is absolutely no chance that our guys are as good at virtual infrastructure as Amazon. That's not to say they couldn't be, mind you, just that they have other things on their plate.
HIGHLY recommend looking at AWS for anyone that needs (or even thinks they might need) a simple virtual machine running and accessible from somewhere. I keep one up all the time just so I have a shell, and it costs me less than $10/mo. It's more expensive than keeping a Raspberry Pi or BBB on my home network, yes, but I don't have to worry about creating an intrusion vector for my home network, nor do I have to worry about my home broadband going down.
It's something that everyone will weigh out for themselves, I guess. It's an absolute no-brainer for myself and my employer.