The difficulty sometimes in comparing is, as this post points out, people don't include all the "other" costs that often dwarf the hardware costs. Power, cooling, bandwidth, etc., all cost money, and when you're not buying a lot of them, they cost a LOT of money. The cost of equipment is usually a fraction of the TCO.
Essentially the value proposition of the cloud is "we can store that for you wholesale".<p>If you're just a typical internet user then it's probably not worth storing data in the cloud, since hard drives/USB/Flash storage is a cheaper option, but companies can save money on the overheads of maintaining and administering very large volumes of data. For a company, storing data in the cloud is not especially safe, but then there are also risks associated with local administration too.
The main pro for storing data in the cloud. Let's say on Amazon S3 is that you also get a web server that is able to serve those same files (public or secure). Even if you need them served to millions of users. You don't have to care about scaling this thing. Good luck doing this with a NAS.
I think another key thing is in three years the price of storage will keep falling (as it has over the last X years), and with Amazon they are eating that cost (hopefully) and not sticking you with old outdated hardware.<p>Kind of like leasing a car, but the cars get 10x better every year
FYI -- There are cloud storage services that focus less on low-latency and more on affordable reliability/throughput for archival class data. <a href="https://spideroak.com/diy/" rel="nofollow">https://spideroak.com/diy/</a><p>(disclosure: I cofounded SpiderOak in 2007)
That's why BackBlaze builds their own servers: <a href="http://blog.backblaze.com/2009/09/01/petabytes-on-a-budget-how-to-build-cheap-cloud-storage/" rel="nofollow">http://blog.backblaze.com/2009/09/01/petabytes-on-a-budget-h...</a>