With all the discussion of the needs of the user I though I'd elaborate on what I Want in a tool to help with gaming... these are 10,000 foot statements - and made for discussion as I realize not everyone has the same wants or needs in software.
As a GM or Player I personally am not going to be sitting at my game with a laptop trying to on-the-fly calculate or modify scores - i use paper books for that during a game session and I tend to use tools as between session utilities to manage information, character notes, etc.
I feel the tools need to be modular in nature - allowing users to set a "role" and tailor the interface for that role - so if I'm a player and only care about my character I don't need to see the Campaign Organizations or Monster information, but a DM might need all of those things for session prep. I think the core product would be a Character Generator/Manager - everything else would build on as a module that could be hidden or not even loaded unless needed - so from step one knowing how I want to use the software this session determines the interface I see.
Character Generation and Management: I need a tool that is powerful enough to create a character Inferring the SRD core rules as a base data set. The tool must allow me to easily enter custom data from new source material - for instance I want to be able to take a supported character through the process of leveling without any input other than selecting feats, allocating skill points and calculating class advancement - using core and custom entered information, and updating inventory if needed.
Additionally I want a tool that allows me to make simple expansions to the character options on the fly - so if say at 3rd level my Fighter takes a feat from "Complete Warrior" I can enter relevant information and have it applied to the character sheet. Numerical systems that are affected would show this and the entry tool would allow for "standard" feats that don't alter or institute a new rule system. It would also give me the option to append or add this entered data into the options for future characters as a part of the custom data set.
Similar functional wizards should exist to enter simple classes and class progression and abilities under simple existing systems with text to describe the features - for instance I could then create a Samurai class - with its class abilities and class BAB and Save progressions from the source material. This would also cover the concept of PrCs with no major rule system introductions. (Text descriptions tied to abilities should cover class powers unless it is a permanent bonus)
In the case of spellcasting classes the tool should allow users to define the spell progression, bonus spells, and spell slots or spells per day similar to the Cleric, Sorc or Wiz systems - for instance the Warlock may use Invocations instead of spells but effectively they could be modeled using the original spell class systems - its mostly verbiage.
There also needs to be tools to enter typical data following the spell and item description formats for custom data easily. Entering all the Incantations in from the base Warlock list should be simple as they follow certain formats. Entering new spells - the same. New items and new magic items with numerical effect should be handled in a similar form.
All of these interfaces should be as simple as possible and created using an attractive wrapper to make it feel more like a D&D tool and less like a spreadsheet.
The nature of D&D is evolution- a character tool needs to easily allow standard data input as a part of managing the character - not necessarily as a secondary process. (though in the case of adding new classes, etc there is obviously a lot more work needed before you can create a character.)
The program should allow purchase and equipment of Core items that can calculate weight and apply any "permanent" benefits to the character if wielded/worn/etc.
There should also be simple data forms for character information like sex, race, adventuring notes, contacts, relationships, organizations - etc. But this could be a simple Notepad in the character's entry that I could save or print based on the output choices.
The output ideally should be configurable or use a set of templates to allow for different printed results - NPC/Statblock format, Spellbook only, Character with Detailed Descriptions, etc. (PCGen does a good job at this right now for example)
Campaign Management: My needs and wants for a Campaign management tool are fairly simple - a place to manage session notes and information, to generate encounters and treasure and ideally be able to populate and update the PC character records after a session with items or special information and experience. I'd love a tool to manage things like the "Organizations" format, maybe a place or tools designed to handle town and village or region oriented information.
Additionally this would be a good place to have an NPC/Monster creation tool - with a simple interface that would allow entry of new foes in standard format - i.e. I could type in the latest Dragon entry from Monster Manual 6 and then have it in the custom dataset for later user - incrementally adding exceptions beside the core public creatures or rules. Obviously it makes sens to me to have the PC Generator/Manager linked here - meaning they would share the same data and thus either DM or PC could enter information and it could be used by either role.
For those who use laptops or PCs as GM aids I could see a number of additional tools like Initiative managers, Jump Calculators, treasure generators, etc. but for me I tend to do these things on paper during a game so aside from tools that help me prepare a game I don't have a need of them.
MapMaker: I personally have no need for this. I draw my maps on an erasable battle mat when I use one. Campaign or city maps i also do on paper.