We wrote the blog so to comment
One big reason for this is that JTAG is slow, so if you want a lot of debug information then using USB is very much more efficient & saves a lot of time.
As we all know, time = money, and accelerating development has big attractions on time to market, commercial traction etc.
It would be unusual this would *replace* JTAG: you still want to use JTAG for lowlevel bring-up, connectivity, scan chain etc, especially in manufacturing environment for production test. So "saving pins" isn't the main benefit.
But for more complicated tasks: debugging software, or beta testing / field testing of a consumer system where the only access to the device is USB, then this has value.
And that enables a whole new use case: in-life or in-field debugging and optimization.
Suppose you were debugging a mobile phone or an ADAS system on a car: where is the JTAG port you can see?
But for complicated systems like those you would often sensibly want to get access in order to see how things are going
Several people mention security. The type of connector doesn't change security. JTAG is famously nasty for this - which is why best practice is to disable it.
For USB it is equally possible to disable debug access (fuse and turn off that mode) and that is then very secure. No more risky than disabled JTAG.
But if you want in-life '/ in-field debugging can use proper security techniques, with authentication, encryption, handshake etc.
For this to work properly it must be completely non-intrisive on target system.
That means there is an integrated USB hub and a hardware based USB controller - so no load on main CPU from USB traffic and no interference with system USB traffic.
If you want more details:
Still debugging the JTAG way? Time to try the USB way... • UltraSoC