What does the BMP probe do that a STLINK does not? I had a look at their website but can't see clear advantages.
BMP supports many other devices from other vendors. Hardware is a bit cheaper.
If its just STM32 you are looking at, I don't think there is a major difference.
Hardware wise, the BMP has bus transceivers providing some isolation of the probe and allowing 1.5V - 5V IO (wider span than STLinks support). Software wise, the BMP firmware can speak JTAG as well as ARM SW-DP.
You get the benefit of fewer hassles with direct GDB access. OpenOCD, for instance, has a misfeature where it leaves the processor in debug mode after you program an image and detach. If you have any code detecting an attached debug probe it will not behave as expected. The BMP firmware handles this correctly.