Probably some daemon periodicly checking files or whatnot.
Most programs check on files using polling. That is they simply access the file system and check to see if certain types of files are present. It's a bit of a problem sometimes as programs when they start up can sometimes try to see up to a several hundred times to see if certain files are present (this is due to sloppy programming). Obviously this can slow down otherwise fast starting programs as they are waitting on disk I/O instead of actually running.
Same things can happen with some programs. For instance say a applet on your desktop is programmed (sloppiness again) to check it's configuration files every couple seconds. On a desktop machine this is barely noticable.. but if your trying to get your drive to sleep it can be a pain in the rear.
See this article:
http://www.linuxjournal.com/article/7539
It's a couple years old now, but it seems that it will probably be accurate. In it it talks about a 'laptop_mode' script that is aviable in a certain place. Were they are talking about is in the actual Linux kernel source tree (or tarball).
Now I don't remember about Ubuntu but they probably have a 'laptop mode' version or whatnot you can install.
This page is documentation for getting Breezy working the best on a IBM Thinkpad laptop. They recommend not installing the Ubuntu package, but the latest package from Debian's related project page.
http://www.columbia.edu/~em36/ubuntubreezythinkpadt42.html
I don't know how this will apply to Dapper though. Probably the supplied package for that is much more up to date. Check out the Ubuntu forums for details or maybe somebody here running Dapper on a laptop will know the answer.
But the just of all this is that is that with your kernel in 'laptop mode' then if you disable syslogd (so you don't end up with the logging daemon logging itself accessing the disk as it logs disk access and gets in a loop) you can enable "block dump mode" and get a accurate report on exactly what proccesses are accessing what files and track down exactly what is accessing your disk.
It's a bit extreme, I suppose. And awkward and such. There may be a easier way to do it but this is the definative way to know what is going on.
Also if you think it's swap and you have plenty of RAM for your activities then you can disable swap partition access and prevent that from causing excess disk access using the swapoff command. Keep in mind that if you run out of RAM the kernel will start semi-randomly killing off programs as a end game panic mode to avoid having the machine crash due to running out of RAM.
However if your not worried about battery life or whatnot then it's probably best to leave it alone. Laptop mode should stop a lot of disk access and if it's a normal desktop then it shouldn't matter much. On my system the disk is accessed pretty regularly. Having it spin down and spin up may preserve battery life, but it also causes some excess wear. Maybe shortening the expected life of the disk from 5 years to 3 or something like that in comparision having it accessing periodicly as some random file is being accessed when the system is idle is nothing.
Hope that all that makes sense. I don't realy know much about it so it's difficult to explain it in a way that makes sense.