I discovered this by trying to write my own TODO manager:
http://git.jrock.us/?p=doqueue.git;a=summary
After working on that for a while, I realized I just wanted a flat file :) Implementing the file was much faster than writing an entire application, I might add.
When I get some interest in working on this again, though, I will make a FUSE filesystem that gets the information from the web and makes a TODO file for you. Then you can use the web interface when you're at a different computer (or you want to share TODOs with a friend), and the file otherwise. It might be interesting.
Also, I find it useful for those long-term backburnered tasks that I work on when I've got nothing else to do, but aren't immediately relevant to whatever I'm doing now. If I tried keeping those by paper & pencil, I'd end up losing the list by the time I got around to them.