As the coach Yogi Berra is supposed to have said "In theory, there is no difference between theory and practice. In practice, there is."
At my previous place, I undertook a test of using a cloud based offering to see just how it would wokr for the business. The theory is that cloud provision should be easier to scale up / down as required, that it will cost less and be easier to manage.
What we found was that although the scaling up was reasonably easy, scaling down took a lot more work. Almost all administration took more effort and actually a lot more time and there were a number of problems as a result.
It was suggested that dept heads would be able to manage much of the work; in reality, IT staff spent more time fixing their issues and the dept heads simply didn't want to know where they were going wrong. The cost certainly appeared to be cheaper, but once we started double checking, the actual costs were a lot closer than the vendor had portrayed during the sales pitch (understated their charges, over estimated our costs).
But without question the biggest issue was trust. Senior managers were happy that if anything went wrong on site, they could come through and see us working on the problem; sometimes it would only take a few minutes. But when dealing with an outside supplier, you are reliant upon their help desk. Having called 3 times in one hour and still no fix, the CEO insisted on standing by me whilst I phoned again (to the upset of their helpdesk person).
That company are still very reluctant to go any further down the route of cloud provisioning; and I can't blame them. I'm betting a lot of other smaller firms take the same view.