I think the comment that ROON RAAT is using UDP is rather important here. Back in the day when I was programming Tibco RV messaging we used UDP for broadcast messages in one part of the system and I recall it was unreliable. It did not have to be reliable in that instance because it was just for a debug dashboard and the next broadcast would update accordingly. So packets could be dropped and I was OK with that.Almost everything people "stream" uses UDP, unless the file is being transferred to an internal memory buffer using TCP/IP or SCTP (100% CRC error-checked).
While I hesitate to rely on them as a reliable source for all things, I find this comment on Wikipedia regarding UDP to be of interest:
"It has no handshaking dialogues, and thus exposes the user's program to any unreliability of the underlying network; there is no guarantee of delivery, ordering, or duplicate protection. If error-correction facilities are needed at the network interface level, an application may use Transmission Control Protocol (TCP) or Stream Control Transmission Protocol (SCTP) which are designed for this purpose.
UDP is suitable for purposes where error checking and correction are either not necessary or are performed in the application; UDP avoids the overhead of such processing in the protocol stack. Time-sensitive applications often use UDP because dropping packets is preferable to waiting for packets delayed due to retransmission, which may not be an option in a real-time system.[1]"
To be clear my contention isn't that UDP itself somehow affects sound quality. My reason for bringing it into the conversation was based around reliability reasons, in terms of how important the network architecture is.
For example someone wishing to use Roon to run a multiroom distributed audio system on a network where kids are going to be playing online video games and the TV is on in the kitchen streaming cooking shows, should consider paying close attention to how the network is implemented to avoid problems.
An analogy an industry friend has sometimes used is that your network is like a freeway with lanes. UDP would be similar to a lane on the freeway, but designed only for a particular kind of car. What happens when you flood the lane with a bunch of that particular car? Crash!