Yes, there is!
At least for the writer who must control complex sets of characters.
My stories are typically complex (hundreds of characters inter-connected) and very focused on inter-personal interactions (gossiping is used as a way for the main characters to get precious information to reach their goals). I need to keep track of appearance, family connections, alliances, addresses, etc. Once you hit 200 characters, even if most are extras that barely get a name, things start getting messy.
Worse, my stories stretch in time. I may have a story start in 1345 with the arrival and settling of a new family, but then my next story will star the children of the couple. That means everyone must have become older, more kids have sprouted while lots of folks died... and, for continuity sake, I can't forget everything that was mentioned in the previous story. If the daughter has had her first child, the mother will mention how she used to cry day and night - and this must match the events of the first story.
If I decide to write a prequel to the first story (as has happened), I need to know who was pregnant of who at what time (so as not to mess up the ages of everyone in the first story) and how old everyone is at any given event. I also need to know who was mentioned in which chapter, as well as objects, pets, etc.
To make it worse, most of the action happens in villages, so I need to make sure I'm not creating too many kids in an elderly village or that I haven't created too many single parents in a place where children out of wedlock are marginalised, and this means keeping track of local demographics.
Since programming would take too much time to learn (keeping me from writing), I've created a complex excel file complete with name and demographic generators. I start a file by naming the local villages and towns and determining their profile (high-low fertility; high-low mortality). Then I determine little things like average kid per family, % of adults who are married, divorced, widowed... And the generator creates a map of max people in different age groups, kids per family, number of couples and singles.
When I create characters, I get suggestions of names and how often the suggested names have been used to avoid repetition. I can write down their description, family relationships, addresses, etc. If I'm creating too many people of a certain age in a village, I get a warning and I can change their ages, or change their address to a nearby village, for example.
Every time I select the name of a character, I get an automatic summary of the most important facts (age, description, address, lives with whom, job, important connections in terms of lovers, enemies, etc) according to a certain date. I can also get a detailed report of all events and connections for a given character through time. Since some characters are mentioned once in a blue moon, it's great to have a quick reminder of who they're supposed to be.
I'm also in the process of creating a map, so that I can select a dwelling and know who currently lives there, who will live there in the future, and who lived there in the past, while at the same time, quickly identifying neighbours of a given character to determine interpersonal connections.
Is it fast? Not really. Is it practical? No, but it's better than most anything I've tried. In the very least, it's perfectly customised to my needs (within the limits of my abilities and of Excel).
Still, I keep scouring the web for the software that puts everything together: story, backstage information and statistics. While I've found some solutions to keep the world under control (which lack sorely in terms of statistics), nothing effectively joins backstory information and writing.