HDDs (and even SSDs) are always without question the slowest part of your core system. Even fast HDDs only hit a maximum of ~200MB/s... and even then that is at the beginning of the drive, doing a sequential read, which is not something you would see often in everyday life. HDDs also have a very long seek speed (access time) of 6-12ms. This means that when doing non-sequential workloads (which is just about everything other than playing back a video file) it takes 6-12ms to move from one task to the next, and that just kills performance, especially with tasks that read from a multitude of files (like an OS or video game). A modern typical HDD will have a max read speed of 160MB/s, minimum of ~90MB/s, and average of ~120MB/s, with a seek time of 8ms (if older then expect worse on throughput, but a similar seek time)
SATA1/2/3 dictates how quickly data transfers between the disc and the motherboard. In effect it defines the maximum throughput of a drive, but has absolutely no bearing on the actual performance of the drive itself. In reality you could plug even an average SATA3 HDD into a SATA1 port and never see a difference in performance on the drive (SATA1 has a throughput of ~150MB/s). Drive manufacturers move to the new standards mostly for the sake of marketing, but also because the controllers for each successive generation are made with a smaller die size which makes them easier to produce in bulk, and uses a little less power. But as far as the end-user is concerned there is no real advantage to a HDD being on any particular SATA standard (except high performance HDDs which really should be a minimum of SATA2).
Compare that to SSDs. A slow budget-oriented SSD has an expected throughput maximum of ~320MB/s, and a minimum of ~120B/s, while high end units have a max that saturates the SATA3 standard at ~550MB/s, and a minimum somewhere near 250MB/s. There is no real 'average' speed as SSDs always read as fast as possible, and the limit of their min and max is based on the type of file being read; but for the same reason SSDs do not slow down as the drive fills up, so you get that same consistent performance throughout the entire drive. While that throughput is a clear step forward over HDDs, the real magic is that the seek time is typically near .2ms on even a cheap SSD (.05 on high end units). This means that there is no waiting time when moving between several files, which makes SSDs amazing for system drives where a bunch of files need to be accessed in short succession.
HDD speed has very little to do with your OS. The OS bit rating has to do with 3 things:
1) how much system memory can be addressed by the system (32bit hits a max of 4GB... really ~3.5 but MS has cheated with vista 32bit and everything after)
2) how wide or complex the commands can be for a program, and in some cases it can be a cheater way to push 2 commands into the CPU at once. However, due to the nature of x86 there is really very little advantage in processing speed between a 32bit and 64bit OS. There is a little, but not much.
3) how accurately math can be done before having to round a number. If you have 32 spots to put numbers then you can get a pretty accurate answer, but if you have 64 spots to put numbers then you can get a much more accurate answer. Not so useful for everyday math, but extremely useful when dealing with complex math relating to really long numbers such as PI, natural log, repeating decimals, and other such things.
None of these things has anything to do with how fast your HDD can push out data.