For simple projects I like to mantain three files:
- Roadmap.txt: Milestones and planning for each phase
- Changelog.txt: Things that I've changed or implemented.
- Todo.txt: Things that I still have to do, with explanations and justifications for each one.
For more complex project an integrated ticket system is the way to go. Trac, for example is quite good. Team System also works well.
For GTD, which is an enterely different things you might take a look at omnifocus or any other GTD application.
I'm very fond of GTD methodology, basically using projects and contexts can help you a lot organizing when and where to do things as wells a prioritizing what's need to be done based on where you are and what you have available each time.
By the way, if the project is big enough or you have enough things in your mind and enough responsabilities just don't go for the txt file. First of all, if you want to go digital (don't underestimate the power of a standard paper notebook) make sure, at least, that you can synchronize it on the cloud, so that you can check your tasks everywhere you are.