The serin, serout type commands were originally designed to offer BASIC Stamp users similar commands. They all produce huge code when used because the command libraries have to cover so many various options to maintain Stamp compatibility.

Debug/Debugin produce much smaller code, and offer the higher data-rates because the library routines are much smaller.

Serin, serout commands can be used on any I/O-pins that support digital I/O. Data-rates & pins used can be changed on the fly. Debug/Debugin pins & data-rates are fixed with the DEFINE used to set them up, but offer much higher data-rates since the library routines are much smaller.

If you need higher baud rates with slower osc speeds, then use Debug and Debugin if you can live with fixed rates & pins you can use.

Of course you can use them all if needed, but I'll normally opt for the hardware USART or Debug/Debugin.