I've used Dragon which is considered one of the best, but my success with it was limited.
A lot will depend on which version you purchase, and how much time you spend sorting it out to begin with. 20 years ago I worked on a military base and we had to buy an early copy of Dragon Dictate for a Warrant Officer who had suffered a bad injury to his arm, but was retained in a non-combat role for his expertise. The down side was typing the many reports on the computer made his arm worse. Enter Dragon Dictate, 3 weeks of meticulous training to get it to work with his speech patterns, and he was dictating very complex reports with no errors faster than he used to be able to type.
I can't remember his name, but I do know one of the good authors here on SoL uses a much more recent version of Dragon to write his stories, and they don't have any errors in them. He has severe eye-sight issues and does have an editor give them a final going over before he posts the stories, but the editor says there's very little for him to do on them, it's more a confirmation process.
In both cases the key was the training of the software to work the way the user wants. One important way of getting the training right is to have a very different way of saying the commands to the way you say the same words as a text item. As it was explained to me, when he says the word command as a text item is sound like co-man-d (like most people pronounce the word), while when given as the code word to change to the Command Function mode he says it as coo-ma-end so it sounds very different. The same is true of many other of the function words. This was a deliberate act in the training process to minimise the confusion. He also does something similar with many of the words that sound similar - to=to, to-oo=too, two-be=two type of differences in the words. A lot of memory and training needed, but he gets a perfect result in the output.