I used BeerSmith for years, then switched to Brewfather. I hate the subscription model generally, but not with Brewfather. They continually update and add new features, and the software serves so many needs, I also feel it's just part of the cost of the hobby.
Beyond recipe generation, I love how it's a historical record of every brew day or every recipe I think up. Recipes and Brew Batches are logged separately. So if I get a different mash efficiency on a brew day, I don't change my recipe, it's just recorded in that Batch. Hop substituting one time, or different AA- captured in that Batch record.
Lora of bells and whistles on how to scale recipes if brewing a different size batch, or on different equipment.
Water salt adjustments are easy and easily added to brew day recipe.
Inventory is great for keeping track of hops, grain, yeast (plus anything else if you want). Build recipes specifically picking just from your inventory. Click of a button to decrement your inventory when you brew.
The fact that each brew session is it's own log is fantastic. I input data (volumes, gravity, pH) and it's there, easy for me to go back and look. I use Tilt to track fermentation, and that is part of the Batch record. Whatever notes I have get date & time stamped. If I adjust power settings, which fermentor I used, sparge times, if I forgot to add oxygen, what my sounding pressure is, endless...
And then all of this stuff is searchable. I want to know which beers I brewed with A38, I just tore "A38" in the text box, and all of my recipes brewed with that cone up.
I'll stop