The Agile Manifesto says "Individuals and interactions over processes and tools". In other words, that people working together is a very valuable thing. Conversation is a very efficient communication mechanism. Collaboration fosters team work, unifying of goals, etc. Processes and tools, if misused, can lead you astray and keep people apart by encouraging handoffs and focusing your attention on things which don't add value. But this doesn't mean that processes and tools aren't beneficial. Just that you need to be thoughtful when you incorporate them such that they don't discourage that which you truly value.
Index cards can be very handy for many planning activities. See this blog entry from Agile In A Flash for more on some of the benefits of index cards. But index cards have some drawbacks. They don't work as well if your team is distributed. They don't work as well for things that you coordinate across many teams. They're not always accessible. Say if you're working from home one day or if you're traveling.
For these cases software can be very helpful if not essential. But you need to make sure that whatever tool you choose fits well with the way that your team works. Make sure that it actually makes your life easier. Tools shouldn't drive what you do. Tools should help you in what you do. And just because you choose a tool, it doesn't mean that it is the only tool at your disposal. Use whatever makes a particular activity the easiest. For example, if you're using a software tool, you might still do iteration planning with index cards or sticky notes.
Where can agile tools help? Let's start with the backlog. Your goal is to keep the backlog as simple as possible. Don't put items on there that you'll never get to (or take them off if you later realize this to be the case). Don't go into any more depth than you currently need to on any item. Constantly (at least once an iteration) prioritize. The tool that you choose should allow you to easily accomplish these goals. It shouldn't force you to go into more depth than you need to. The tool should make it easy to share a subset of the backlog with your customers / users to facilitate feedback.
From a release planning point of view, if you have multiple teams, you'll want to track which teams are slotted to take which stories that are candidates for the release. You'll want to easily shift things from team to team if it looks like teams are getting into trouble or starting to dip into lower priority items. But most importantly, you'll want to keep the forecast up to date. The tool you choose should make this easy. Ideally, the tool should even help you make your projections.
For iteration planning, you'll want to pull stories into the iteration, to add acceptance criteria and to task the stories out. The tool you use should make this easy. Easy enough that you can actually use it in iteration planning without it becoming the focus. If the focus becomes the tool or if the tool limits collaboration, you should consider alternatives (such as stickies) and update the tool later. At the end of the iteration, you should be able to capture the retrospective results so that you can look back at it later.
Within the iteration, you'll want to track where you are on the stories. You'll want to identify when things are blocked or when people are working on lower priority stories. The tool you use should be trivial to update and easy to use in determining status.
Iterations are a great way to ensure that we attack things incrementally, never letting our work items get too big. But, you also need to make sure that you're seeing the bigger picture. From iteration burn down within the iteration to release burn down to tracking velocity across iterations or categorizing your investment into various areas. Tools can help with this.
After using one of the larger agile project management tools, I felt that there was a gap between what the tool did and what I felt it should do. It was much more difficult than it needed to be. It allowed me to do lots of things I had no interest in doing, but made it difficult to do many of the things above that I wanted to do. As a result, I decided to create my own agile project management tool: Planigle. If the above philosophy on tools matches your own, you might want to check it out.