slowing down can - in my experience - typically be attributed to 1 thing: File fragmentation. Along with that can travel some companion issues like running low on hard drive space or newly added applications which are designed for more current or robust hardware, but that time-frame and symptom got my attention.
In the Windows environment, file fragmentation is a fact of life - which means running the defragger every 3-6 months is probably a good idea. This is a normal maintenance item - as mentioned in an earlier post - that needs to happen... like adding gas to your car's gas tank or changing the oil regularly. Besides defragmenting the files, the defrag application/utility also "optimizes" the system... so all the system files are where they are best used, all the fonts are together, all the applications are together and all the documents are together on the hard drive. It all looks the same to the person in front of the monitor, but under the hood, the location of the files on the hard drive makes a difference.
The Apple Macintosh OSX environment really does not run into this type of file defrag issue or system file location issue. When various updates happen (software updates from Apple or any other application install using the installer), the last step is the system is optimized. As for file defragmentation, the operating system works to take care of that as a normal course of it's day while the machine is on. There are very few people in the OSX environment who need to purchase a defrag utility (perhaps some high-end video editing contiguous file requirement).
If the hard drive that Windows machine of yours has not been defragmented:
1) Do a back up. Make sure you can use the back up and actually recover files.
2) Restart the machine in "Safe Mode".
3) Start: All Programs: Accessories: System Tools: Disk Defragmenter
The reason you start in safe mode is because, among other things, the defragger looks for files which have changed. Safe mode does not allow virtual memory to start. Virtual memory is hard drive based. When used, the disk defragmenter sees that virtual memory activity on the hard drive as a change in the file - so it wants to defrag that area... but virtual memory is dynamic, so it is constantly changing - so the defrag app wants to look at the area... In safe mode, without virtual memory active, the defrag app can efficiently do its job and not worry about file change activity. Don't do anything else while the defrag app is running. The amount of time it takes to complete the defragmenting process will depend on the number of files on the hard drive, the amount of available hard drive space and the extent of the file fragmentation...
AAAAAAAA = a file
BBBBB = a file
CCCCCCCCCCCCCCCCCCC = a file
DDDDDDDDDDD = a file
Lets say I worked on them sequentially... and they now appear on my hard drive as:
AAAAAAAABBBBBCCCCCCCCCCCCCCCCCCCDDDDDDDDDDD
Then, I go back and make some changes to A. There is not enough room in the existing space, so when you save, all the existing A area is used and a pointer says to find the rest of it "over there"... so, it looks like:
AAAAAAAABBBBBCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDAAAAA
Then I do more work on D:
AAAAAAAABBBBBCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDAAAAADDD
And some work on C:
AAAAAAAABBBBBCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDAAAAACCCC
I go back to A and delete a bunch of info:
AAAAA BBBBBCCCCCCCCCCCCCCCCCCCDDDDDDDDDDD CCCC
And imagine this has happened with hundreds of files that you might have used over the course of 3 years... and, of course, your hard drive is filling. All these little bits of available memory are all over the hard drive, so in order to make use of that space, the hard drive heads have to move all over the drive to get to those available spaces... Specifically, it is the virtual memory that is moving in and out of those little spaces rather than one (of just a few) large spaces...
I try to defrag my Windows machine about every 6 months or so. I have never worried about defragging my OSX Mac-based files.