Si il virtuale è praticamente identico al reale ma ti semplifica il lavoro.

Utilizzando un ambiente reale devi installarti il sistema operativo del server su una macchina (nel tuo caso sul raspberry), devi configurare tutti i servizi della macchina, quantomeno server web e database, devi sapere come funzionano i permessi su unix e tante altre cose lato server, con il rischio che alla fine ti trovi pure con una macchina che funziona in modo errato perchè mal configurata e che non rispecchia un vero ambiente di sviluppo.

Usando un ambiente virtuale è tutto molto più semplice, dopo aver installato il gestore (docker/vagrant+virtualbox) ti scarichi una immagine sul tuo pc, la lanci ed hai un server già pronto, configurato correttamente da altri, su cui puoi iniziare a lavorare fin da subito. In pratica te ne freghi della parte server, come se tu lavorassi su una vps remota già configurata.