There were a couple of issues with early USB. It was not asynchronous, and early implementations of asynch were not universal. In addition, still recently, DAC vendors don’t always ensure the USB interface is galvanically isolated, which can cause digital and/or analog ground loops. The former increases jitter significantly, the latter adds hum. Especially bad when coming from a PC.
S/PDIF, while lower bandwidth, over optical suffered none of these issues.
Today USB is asynchronous and the highest possible bandwidth. Get an inexpensive USB isolator and you are good to go.
Another thing that’s happened relatively recently is that the clocks in DAC’s have gotten amazingly good (and cheap) compared to pre-2000 days. This means that the highest possible resolution of a clock is next to the DAC and therefore it should be in charge of the timing from upstream, which is what happens with USB asynchronous.
BTW, Ethernet is galvanically isolated by design, but not noise isolated due to coupling caps that may occur around transformer windings.