I'm not sure if SPDIF has some synchronization mechanism (like USB does), but if not (likely), then "yes", assuming the software is done correctly, ie. real-time system, that guarantees latencies below a certain point (say, 50-100μs for a userspace application - music player), as opposed to "normal" operating systems, which achieve about 1-5ms during idle, much more during load.
That is - on common PC hardware.
Again - I'm no hardware designer (John, Dominik or someone like that might have a better answer), but the only "always perfect" solution here is USB, .. ehrm .. "asynchronous USB".
If SPDIF has no means of source<->destination synchronization and the clocks are not synchronized as well, then there's a real possibility of a clock speed mismatch. I believe that's called jitter. Even if there was destination-side buffering, faster source clock would fill the buffer completely and the destination would have to start dropping data. Similarly, if the source clock was slower, the buffer would soon be empty, with no data to play.
That's not the issue with USB, where the destination can temporarily stop the source from sending more data (through
URB), so the buffer can be kept under control. Similarly, when the data get corrupted during the transfer (USB checksums data), it can be re-transmitted again and added to the buffer, without you noticing it. It (in theory)
always results in a "bit-perfect" 1:1 reproduction, with playback correctly clocked by the destination's exact clock. The source here is merely a data storage, not an active sender, like it's in the case of SPDIF.
Note that I'm not saying "asynchronous USB" is easy to implement in hardware, AFAIK some manufacturers do it wrong (incorrect crystal sync with buffer ?).
While SPDIF works perfectly only when the source and destination have clocks synchronized, USB can work perfectly even on a common PC hardware, running a common OS, because of the buffer.
PS: If SPDIF can actually be destination-controlled and thus buffered and I got that part wrong, then please disregard it.