What are the pros and cons of each?
Show controls which match users' goals:
Topic-based navigation is often well suited to situations where users want to find things out, eg. content sites.
Task-based interfaces tend to suit situations where users need to get things done, eg. applications.
Title buttons and links so that they fit with people's mental models of the goals they have in mind when they arrive at the site. You might find clues in the terms they use to express their goals.
Sometimes finding information is just part of a bigger task. Setting up a piece of hardware, for example might require a trip to the vendor's help system. In cases like this, you should still endeavour to determine users' goals, even though you might only consider yourself responsible for categorising content.
You should use tasks when the functionality is different but the topic the same.
You should use topics when the functionality is the same but topics are different.
You could also do both. What if you provided affordances to go in either direction. Users would guess as to the "right way" to do it and always be right.
The CHI list has an interesting summary. Read more on the like to see the factors they mentioned.
In summary, there is no definitive answer to which is better: task-based navigation or topic-based navigation. Choosing the best approach depends on several factors...
Like what Glen said, you can do both. I prefer that, because you'll have the best of both worlds so why not? You'll just have to do the information architecture well to avoid clutter and bloat.
It's always fine to give away a lot of options as long as you can present them well and that your audience will appreciate them. If you have to stick to only one due to information architecture limitations or any other reason, research on what your market would prefer.
We use topic-based navigation in our UI and have observed that the user has problems because they want to do 'x', but some of our topics use language that doesn't convey any meaning to the user.
We could revise the topics, but we've found that addressing this by adding in task-based elements helps to guide the user and get them out of a 'so what do I do now' rut.
Really it boils down to the type of application you're working on. Task-based navigation would seem odd on a site like the BBC or Amazon.