I use yt-dlp for a long time and miss nothing. With all the possible combinations on the -f (or in .config/) you can exactly define what you want. Î run it with deno as JS-Interpreter.
On Windows i run it into a WSL Ubuntu. In the past i used Cygwin for that.
Important is to have ffmpeg working to merge video+audio or convert something.
Stacher is not bad, i tested it but rarely used it. It comes with all you need. I have more fun hammer it into a shell
With your own youtube API key you can automize downloading of unseen videos of favourite channels. Or like me, i got an overview of new Videos from a list of channels linked in my Telegram bot, so i can directly access. Search and Sort in Channels is a pain in the youtube android tv app. Just playd around a bit.
The youtube-dl fork (yt-dlp) is very well maintained and up to date. Specially when a website change something, the yt-dlp modules for it will be updated fast.
I can't suggest any other software i haven't used. If you are not so into command line stuff the best is to try Stacher. All other GUI's i know are for linux.
Have fun. Tell us if you like it.
Doobie.