First, some failures:
I found Obsidian Portal incredibly frustrating. Navigating between PCs, NPCs, wiki pages, and so on, was so obnoxious that I finally gave up. I hope it gets better, but it just wasn't worth the frustration it caused me.
After that, I set up a Wagn wiki, which was a great success right until I asked players to start contributing and nobody did. The Wagn system let me define all kinds of custom page types for places, NPCs, and so on -- but without anyone else using it, I'd have been better off with a little pile of my own notes -- and that's what I do now.
I did a lot of planning in a TiddlyWiki, and that was a really great environment for keeping notes. I eventually stopped, but for stupid reasons unrelated to anything interesting. I highly recommend it as a campaign planning tool.
Now I use Scrivener, a book-writing tool. I create note cards in Scrivener for each planned adventure and/or encounter, and documents about the setting, races, future plot ideas, and so on. It lets me combine my notes about the campaign setting and the ongoing adventure into one document. I'm not sure whether I like Scrivener more than TiddlyWiki, but both have been really helpful.