My 2 or 3 cents on this:
- if you are working with STMicro devices then an ST-Link V2 works great. Even the knock offs work well as long as they aren't DOA. ST-Link V3 also works great, but I found little reason to move past V2. That may have changed in the last year or 2. My understanding is that ST-Links can often be convinced to work with non-ST devices, but I have no experience with that.
If you're working with STMicro devices, I think ST-Link is the way to go. Excellent bang for buck, especially the V2 knockoffs.
- JLinks are great if you need to work with multiple different architectures, and the support provided by Segger is really good. Even for no older, longer supported devices you can often get useful help on the forum (but sometimes the answer for those is a simple "that version is no longer supported"). They are expensive but you can find good deals on eBay if you're patient, though those deals seem to be more infrequent lately. The knockoffs on eBay are not good in my experience, which was years ago before I realized what I bought were knockoffs. I'd avoid them. They had a tendency to crash and often would work only with specific version of the Segger software (I'm pretty sure this is often done intentionally by Segger to disable the clones). The stability of knockoffs might have improved in the past decade or so since I last tried them then threw them out.
- in my experience, open source debuggers are often in a perpetual beta or even alpha state. They may or may not need a lot of tweaking and hand holding to work. Updates to the software may make things better - or worse. For me, even when open source debuggers worked they seemed prone to crashing. Again, this is something that may have improved in the last few years.