I use a combination of different formats to record my world information.
I keep notebooks (actually composition books) that I can bring with me when I'm feeling productive/creative in which I can record my thoughts. Later when I'm sitting at my computer I can transcribe my thoughts into my computer.
My current world building activities revolve around Fantasy role playing and constructing an SF game (explore, combat, construction, economics, etc. - think Civ in space). Especially for my SF game, the SF aspects follow known and extrapolated laws of physics except for a few minor tweaks. So I create giant spreadsheets of information about what different items in the game can do and also how to construct new solar systems on the fly.
All of that is store in spreadsheets and its why I can often answer questions about atmospheres, moons, etc. quickly. I just put in the parameters for the question and it spits out the answers I want.
I do put narrative into both worlds and typically use MS Word to store that information.
I put together flow diagrams for research and production. It shows the inputs and outputs and how you get from raw resources to finished products.
I do not currently use any wiki to organize my data and I think this is a major shortcoming of my current approach. When I get some free time I need to explore these two possibilities and consider gathering all of my information together and organizing it.
I do not currently have a mapping program although I think this is another major shortcoming of my current system. I'll need three different kinds of mapping systems:
- Planetary (for SF & FRPG)
- Solar system (for SF)
- Jump Link (for SF)
Other than character sheets produced for various gaming systems, I haven't developed a good scheme for organizing this information either.
For organization purposes, I often just use my Windows FS to organize the information I have on my two world building projects. One method of organizing non-player characters (NPC) by logical grouping would be to create subfolders for various regions/locations and drop all NPC sheets into that folder, along with maps, and other regional bits of information.
Alternatively, if you have a relational database management system (RDBMs) you can link the things together. This method has the added benefit of allowing multiple connections for each bit of information. For example, a specific NPC could be linked to a thieves guild, a specific location in a city, and a planned encounter later in the adventure.
Professionally I work with some (Oracle RDBMs and MS SQL server) that I'm more familiar with and I am licensed to use (and have a business logic overlay for that data).
However, these are likely too expensive for personal use. For the typical user, I'd use MS Access (or equivalent). These are intended for much lighter weight use and more user friendly interface. Plus, MS Access ties into things like Word & Excel so you may be able to tie everything together in it. However, I am personally not familiar with MS Access and can't really give much advice on how to use it.