TCP verwendest du für Daten welche definitiv vollständig ankommen sollen. Zum Beispiel wenn du eine Mail verschickst.
UDP verwendet man für Daten welche nicht unbedingt vollständig sein müssen. Bei einem Live Stream beispielsweise. Du möchtest ja, falls die Vervindung kurz abbricht nicht 1 Minute hinterher sein, sondern ab dem Punkt wieder Live zuschauen, wenn die Verbindung wieder steht.
QoS verwendest du für Priorisierte Übertragungen. Beispielsweise für die Internettelefonie. Die daten sollen möglichst schnell beim Empfänger ankommen. Mit QoS werden dann die Pakete mit einer höheren Priorität eingestuft. Also wenn die Bandbreite von einer Email beansprucht wird, wird die Verbindung der Mail gedrosselt und die Bandbreite des Internettelefons hochgeschraubt.