I don't have any experience with the particular hardware.
You may also try LPC-Link (2?) that can be reprogrammed by the user into a j-link or other programmers / debuggers. JLink EDU is another option.
There are rumors about newer versions of JLink (based on a STM32F2 chip) floating around so you want to know if yours supports that.
If you are brave, there are ARM OM boards out there - this is a STM32F based programmer / debugger board that Segger sells to be integrated into a user board.
As to ST discovery, I have zero complaint about them.
J-Link EDU is an option, although it'a a bit pricey (I can have it for ~50€). Decent option for sure, but I'm looking for a more economical approach.
As for LPCLink2 firmware replacement, according to Segger's website this firmware
Supports all ARM based NXP devices which are also supported by J-Link Lite.
which may mean that it's locked to LPCs, which I am not particularily interested in because of weak support in CoIDE and other free tools (which is a direct result of NXPs unwillingness to cooperate with OpenOCD project developers).
Problems with STLink debugger are widely described on the net. They are cause by the fact, that the debugger at first presents itself as a mass storage device. I've found a way to make it work, which is to connect STLink, wait until it initializes as MSD, then uninstall it from device manager, run the STVP software and then connect the STLink. It then installs the proper driver and other software like STLink Utility or OpenOCD can use it too. Otherwise - no tool detected. It also "hangs" during debug sessions when paused for a longer while, program counter doesn't increment and when you look into registers, they all show the same value which for me is a sign that the debugger crapped out rather than the MCU itself. Just annoying.