I use Basecamp because it's very simple. There are a few text docs that outline different aspects of the project, and I keep updating them as I go along (instead of adding new ones). And, as somebody else wrote, having three to-do lists ("Things to do right away", "New features", "Ideas") is also a good approach. If you have a little time you can pick off small things from the priority list. Stuff from the "Ideas" list either gets kicked out over time, or slowly graduates to "New features" and then to specific items in the priority list.
Generally though, I find that having a site out there and people using it is the best motivator to keep pushing forward. It creates a real sense of urgency and priorities, and you simply won't have the luxury of not focusing on the important stuff that affects people's experience.