MSP430 Programming BSL vs Spy-Bi_Wire
Spy-Bi-Wire is:


more powerful. It is an implementation of JTAG interface, so it allows not only program, but also to debug the MCU (single-step, insert breakpoints, etc).
more complex. Typically requires a dedicated chip to operate. LaunchPads have that chip on board, but custom-made PCBs are unlikely to have it, so originally a special and expensive programming board was required to program them. However, with the introduction of LaunchPads things have changed: a spare LaunchPad can be reused in the role of this programming board for other devices as well, for a fraction of the price.
synchronous protocol (more reliable).


BSL is:


more generic. In general, only the newer models of MSP430 support Spy-Bi-Wire. However, "a few low-end MSP430 members cannot be programmed by BSL initially, they can only be programmed by 4-wire JTAG or SBW" (source).
simpler: the programmer side usually can be implemented in software. However, some msp430 Series 5 chips have a bug, due to which they require very fast BSL command turnaround times, far higher than can realistically implemented in software, at least in userspace applications on Linux or Windows. So for those chips this BSL benefit is nullified. This is not an issue for F5539 though, according to TI errata documentation.
asynchronous protocol (less reliable).