Sometimes you don't have extra pins for TX/RX, the UART is already in use, or you don't want to upset critical timing by printing out messages. Real Time Transfer (RTT) is perfect in these situations. It uses the J-Link programmer to transfer console debugging output, without getting a UART involved at all. Good news, it's easy to use with Zephyr!
Your target hardware can be in a different part of the world while you develop your Zephyr app. Segger tunnel mode on the J-Link programmer means it doesn't matter if your hardware is on the desk in front of you, or back at the office.