The most annoying thing I've come across recently is that one can't downgrade to an old version (unless there's a specific formula). Htop 3.4. shows CPU usage 40x too small (on macOS) and to fix that I can't use brew.
These days I use pkgin, which I like fine. Can't think offhand of when something I wanted wasn't available there. My impression is that homebrew has many more packages available, but apparently not any that I want.
It's not super simple, but for your htop example, you could probably do something like the following:
# Create a new tap
brew tap-new $USER/local-tap
# Extract the specific version you want
brew extract --version=X.Y.Z htop $USER/local-tap
# Install the extracted version
brew install htop@X.Y.Z
I'm keeping an eye on the unofficial successor by the original author of Homebrew: https://pkgx.dev/ brew tap-new $USER/local-tap
brew tap homebrew/core --force
brew extract --version=3.3.0 htop $USER/local-tap
brew install $USER/local-tap/cmake@3.3.0
brew link --overwrite htop@3.3.0
Based mostly on https://www.ericbariaux.com/posts/brew_rollback/