Vuescan is relatively inexpensive, and can be used with scanners of different make and model.
I use Vuescan to generate "raw" scans. All the rest of the work is in Lightroom and Photoshop. I don't do any kind of adjusting (levels, contast, colour) in the scanning phase. A "raw" scan lets you scan only once and postpone all decisions to a later phase. Unless you want to make fast scans of many pictures (such as for internet use after a party or a holiday) the way to go, IMO, is to always make a raw scan. For that I don't think that Silverfast would be superior to VueScan.
The only possible grievance I might have with VueScan is that I did not manage to have it work with more elaborated scanner profiles such as those created by SIPC. I am left with the Profiling procedure which is embedded into VueScan, which makes a "simplified" kind of profiling. That said, some people argue that an elaborated scanner profile is not necessarily better than a simple one, and they may easily be right.
VueScan documentation is not well written, to put it mildly, but in the long run I managed to grasp most of its behaviour, through many experiments and tests. On the other hand, Silverfast English documentation is so awful that I discarded Silverfast immediately after reading it some years ago (maybe it is better now).
I bought Wolf Faust targets, and use them to calibrate the scanner with VueScan. I then use VueScan to obtain raw scans, and that works very well.