Not quite true, the more data per square cm, the faster the read/write rate at the same RPM.
Very true, you're ONLY talking about sequential speeds which are, have been and always will be by FAR the least important factor in a drives "speed".
A IDE drive from a decade ago, at 200gb and 90mb/s transfer rates had a 4kb random read speed of 0.3-0.4mb/s, a sata 3, 4gb hdd with 160mb/s max transfer rate has a 4kb random read speed of 0.4mb/s. 4kb random reads are the reason hdd's bog down when you unrar a large file, or try to play a game and unrar something at the same time, play a game and run an encode in the background, load windows, load applications do anything basically.
hdd's have gone from around 100mb/s to 160 mb/s or so, in like a decade or more, while random speeds haven't really increased in the slightest, while capacity has gone up 10-15x. SSD's have gone from 64gb drives that do 100mb read/writes with 4-8mb/s random speeds, to 512gb drives with 500mb/s read/writes and 30mb/s random reads and 100mb/s random writes.
HDD's are at the end of their capability in terms of raw performance and have been for 5+ years. SSD's are fast maxing out because while HDD ultimate performance is limited by rotational speed. Random performance is ENTIRELY dictated by the time taken to seek the next read/write, and beyond 7200rpm is both, noisier, higher failure rates, more expensive and uses more power. SSD's as they stand are limited by several things, still seek speeds to a degree as a 500mb's drive may do better in benchmarks yet give the same load times in most games and most applications, because the random read has been stuck around 30mb's for 2-3 years now.
Still ultimately down to latency, its magnitudes faster at maybe 0.1-0.3ms seek compared to 13-16ms for HDD's, ultimately you can't read the next file till you read, send and request another one and have another 0.1ms seek.
We will need new controllers and faster memory to go much beyond what we have now, sequentials is limited by both the interface, sata 3, which can be improved easily, chipset, relatively easy to improve but not much need yet, and the memory involved, which is approaching limits but newer memory should blow through them completely.
What we need for the next real leap in speed is a fundamental change in the way programs access data, storing things as larger files with batches of files it needs within, so loading a 2mb file at 500mb's rather than 100 4kb's files at 30mb's, better control of data streams and asking for more data at a time to increase the queue depth, etc.