You can often build a storage system for a very specific purpose more more cheaply (maybe 3x the base drive cost?), like the Backblaze pods, or just figure the cost of adding 4-8 x SATA drives and software RAID 10 to each of your servers, but then you get to try to solve the filesystem problem, and have weird performance characteristics. Plus, if you think EBS reliability is bad (it is), wait for the joy of statistically significant number of spinning rust drives in anything not designed with enough redundancy, and where some failures are correlated (trays failing at the same time, controller bugs, ...).
One of Google's big advantages was always their Google File System. And GFS is a lot better for the specific loads in search than for the kind of loads applications like gmail impose.
Local instance storage is really the only performant and cost effective thing. You can hang a lot more direct attached disk off your own server than off any AWS instance (1.7TB).
The other area where AWS kind of falls down is "mad RAM" servers. I can buy 288GB RAM servers (18-slot) cheaply now (well, 144GB is cheap, 288GB is less so), and 2TB RAM is available (64-slot). AWS tops out at 68GB for about 5x the lease payments on these servers (so maybe 2x the loaded cost after Reserved Instance discounts)
EBS is convenient as a permanent root for instances, but for anything that actually uses the disk, it's a pain train. I think of it as a large "pen-drive" for the cloud these days.
Meanwhile we still have 1 1/2 year left on our current 3 year datacenter contract(we run on 6 server vmware setup hooked up to a hitachi SAN on which we rent storage space). So Amazon have around 1 year left to come up with some good reasons for us to switch. Otherwise we will probably just grab another 3 years with the current provider.
In an enterprise datacenter, a "fast" Tier-1 or Tier-2 SAN runs anywhere from $10-40/GB/Year to the end user. A "cheap" (and much slower) Tier-3 SAN runs anywhere from $1-15/GB, depending on utilization, availability, etc.
I don't think even those rates are possible with Amazon (with the exception of S3 object storage), because they don't know anything about their users. In the enterprise, you segment your users based on anticipated peak performance requirements. Amazon has no idea what your performance profile is -- and no idea whether it will change tomorrow.