Sobald man einmal in einer Kombination aus client- und serverseitigen Techniken das Endgerät und seine Möglichkeiten ermittelt hat, kann man sehr granular die benötigten Ressourcen ausliefern.
Da ist das Kind aber schon im Brunnen - du kannst nicht pauschal davon ausgehen, dass sich das Endgerät nicht ändert. Es gibt eine ganze Latte an Geräten, deren Gegebenheiten später geändert werden können.
Man kann das Browserfenster nachträglich kleiner und größer ziehen, man kann einen Orientierungswechsel vornehmen - ja man kann sogar ein Smartphone an einen anderen Monitor docken (z.B. per HDMI an einen Fernseher) und hat gleich ein anderes Display. Wie willst du das serverseitig abfangen, wenn du es nur "1x am Anfang" prüfst?
Mit Media Queries hat man ggf. überflüssigen CSS-Code auf dem Client und ein Javascript das entscheidet welche Bilder, Polyfills etc. in welchem Fall angefordert werden ist auch Overhead (und eine potenzielle Fehlerquelle) den man sich mit einer serverseitigen Lösung spart.
Mit einer serverseitigen Lösung bist du permanent "einen Request zu spät" dran - das erzeugt unnötig "Latenz" und ebenfalls entsprechend Overhead, dadurch gewinnt man nichts.