The software I use is called Scrivener, and its low price makes it the best piece of software that has been invented in the history of the world. That’s hyperbole, but only a little bit. Scrivener allows you to do almost every aspect of the writing process in the program. I use it to brainstorm plots. I use it to build characters because it allows you to import photographs and drawings and then use those to flesh out your settings and characters. It has a variety of templates that you can use for different formats. You can write a novel, or a screenplay, or stage play in it.
You can also follow templates for different genres of novels. The one I’m working on now is a mystery, and I am following an outline included in Scrivener for mysteries. Once I have a plot, I use Scrivener to keep track of my various drafts and revisions. I also use it to outline my plot and to keep track of how many words are in each chapter. This helps me balance the number of words in each chapter and the length of each section of the novel. I use it to make sure that my opening is not too long and my ending too short. During revision, when I use Word to develop the draft that I will eventually turn into my editor, I sometimes put the draft back into Scrivener and use the tools available to reorder the chapters. It is a much easier process.
Because I have had trouble with joint pain in the last year or so, I have been using voice recognition software more and more. It is complicated to train, and it makes some really bizarre typographical errors, but voice recognition is an easy way to input text that you have already handwritten, or if you can think fast enough, to input some text directly into your word processing document. I find that dialogue is fairly easy to write with voice recognition, but description and action are virtually impossible.