There a several independent components to "disk speed": interface speed, seek time, rotational latency and bit/track density.
KCotreau's answer has listed the improvements in interface speed. Note that there is a widespread misconception that interface speed is constrained by the bit transfer rate at the head. This is totally false; these are completely independent data transfers that are not concurrent.
Seek times have improved the least, unless you are willing to pay for improved electro-mechanical versions like Raptor drives.
Rotational latency (time to wait for the requested sector to rotate to the head) has improved with the use of 5400 rpm to 7200 rpm.
The increase in areal density has improved the bits per track (i.e. more sectors per track) and also the bit transfer rate at the R/W head (shorter time to read/write a sector).
Disk speed or access time would be the sum of these independent times. There are some additional minor times to consider such a controller processing time and head switching time.
In spite of improvements at the interface and drive level, "disk speed" is often measured at the application software level (e.g. a file copy utility) that averages in all the OS (filesystem and device driver) overhead and ATA request/response overhead. All of this software and operational overhead will reduce the data throughput rate or perceived "disk speed" (e.g. "how come the transfer rate [sic] is only 35MB/sec when copying a file?")
Do you mean to mix both hard disk drives and solid state drives into the same question? – sblair – 2011-06-16T01:01:02.110
@sblair a better term is spinning disk drives 'cos solid state drives are by some, called hard drives or disk drives. – barlop – 2011-06-18T05:56:47.967
What are you using to measure the speed? -what software? It seems you're perhaps using software, and getting a good measurement. Other people are reading off the pack, and that might not take things into account – barlop – 2011-06-18T05:57:40.650