Some questions first. Do you shut down your computer daily/ nightly? Do you have your web browser and email programs set to clear your cache/ history/ deleted emails at the end of each session? Do you open various programs, games, antivirus, etc. If you answered yes to first and no to the second two then there are your culprits!
Every time you shut down and reboot/ restart you save and access/ open files along the way. Once the system is done using them, they aren't always returned to the EXACT same location as your last defrag. Windows Defrag, for the most part, just compresses them into one big pile,i.e. you've spilt water, milk, and soda on the floor, Windows pushes them all together ergo doesn't sort and reorder them by program and/ or directory as well as some after market and on defragers.
I personnaly use Diskeeper 2007 Professional which, when setup correctly will defrag your machine on a ongoing basis with no user intervention required. Even running this, when I manually check, about once a week, I still find some level of defragmentation. I then run a manual defrag to reduce the number of fragmented files.
Remember, anytime you access/ open, add or remove programs, use your browser, check your email, etc you create fragmentation of your hard drive. It's a fact of computing, but continue to defrag and your machine will perform better and lessen the work your hard drive has to do to load your files.
Hope this helps!!
Glenn51