There are a few things wrong with your analysis. The first is that disk writes tend to be bursty for desktop users. You write a few hundred MBs (or a few GBs) and then drop down to an average of a few tens or hundreds of KBs per second. Spinning rust can easily
keep up with the average write throughput of a typical user, it's the bursts that it has problems with. If you can buffer a few hundred MBs of writes, reorder them to reduce head movement, and then write them out behind the user, then you'll get much better performance. Obviously, this won't help for server workloads where you're I/O limited all of the time, but it will help a lot with desktop / laptop use.
The second is that one of the big bottlenecks for modern filesystems is the wait until data is safely in persistent storage. System RAM doesn't help here, because it goes away with power failure. To ensure consistency, you have to pause writing parts of an update until you've received confirmation that the previous part is written. In a conventional journaled FS, for example, you don't start writing the updates until you've confirmed that the journal has been committed to disk. With NV cache, you can get this confirmation practically instantly. If there's a power failure, then the drive just has to replay the transactions from NVRAM.