"The main disadvantage of flash, its cost"
No, it's the only disadvantage of flash. One every other factor such as density, power consumption, environment, reliability, throughput and latency flash wins out. Even the much trumpeted issue of write endurance is very rarely an issue, and even then that comes down to cost as it's easy enough to hot-swap storage devices. Indeed, it's much quicker to do on an SSD than an HDD as, with the latter, it can take half a day and notable performance degradation.
Flash is not a matter of "hype". The killer aspect of flash, which HDD can never come close to, is the massive reduction in I/O latency. Yes, you can cache the hell out of your databases, storage arrays and so on, but you eventually reach the point of diminishing returns even after you've thrown a few tens of GB of (very expensive) battery-backed cache into your enterprise array and stuffed your servers with RAM for DB caches.
The other problem with the "cache your DB to death" issue, is that you might well achieve your 99% cache hit rate (which I've seen), but starting your DB with a "cold" cache can take two or three hours as you have to gradually increase the user load or else the I/O system just saturates with (mostly) random I/O activity until the DB cache has stabilised.
Of course your I/O system might still struggle if it hasn't been sized properly for the IOP rae required during a large DB startup, but at least an SSD-based storage reduces that time rapidly. That's assuming, of course, your storage controllers have been designed for those IOP rates (as many were rather wanting in that area).