For a long time I had problems finding a way to organize arbitrary snippets of information on my computer. I tried several things from simply storing arbitrary text files in the normal directory structure to trying out various note-kepping programs. I even considered writing one of my own.
Several weeks ago I finally found the ideal solution for me — at least from my current experience it seems to be the ideal solution: Viki. This is a vim script that adds wiki functionality to vim.
Now I can keep my notes semi-structured (i.e. cross-referenced) — and my todo list. I even started organizing my web browser bookmarks with Viki (you can invoke an external link in your web browser from within vim with the Viki scripts).
I also use Mercurial to put my notes in a revision control system. This allows me to easily distribute my notes across different computers and keeping them in sync (with the side-effect to get light-weight backups).