Pozdrav!
S obzirom na to da je pitanje postavljeno više općenito, a ne na konkretnom primjeru, odgovor može biti sljedeći.
1. Brzina - shell skripte se u pravilu izvode nešto sporije od kompajliranih programa, jer je potrebno vrijeme za interpretaciju i izvođenje iste. Ako brzina izvođenja nije jako bitna, možemo se osloniti na skriptu umjesto programa
2. Prilagodba - ako postoji potreba da se skripta često prilagođava okolini ili konkretnom zadatku, onda ima prednost pred programom koji je svaki put potrebno kompajlirati i novom verzijom zamijeniti postojeću što ponekad zahtijeva i prekidanje procesa ili ponovno pokretanje sustava.
3. Zaštita - skripta je u pravilu otvorena tekst datoteka u kojoj se nalaze naredbe koje interpreter izvršava. Ako je skripta dostupna drugim korisnicima sustava, postoji mogućnost da ju izmijene i nehotice uzrokuju neželjene promjene u rezultatima njenog izvođenja. Kompajlirani program nema mogućnost izmjene bez ponovnog kompajliranja, pa tako može imati prednost ako se želi zaštititi od izmjena u radu.
3. Pravo na izvorni kod - često autor želi ili treba zaštititi izvorni kod skripte/programa, pa prednost ima kompajlirani program čiji je izvorni kod prilikom kompajlirana pretvoren u tzv. mašinski kod koji je ljudima nerazumljiv i tako štiti od kopiranja. Skripta, kao otvorena tekst datoteka u većini slučajeva nema nikakvu zaštitu i izvorni kod se lako kopira.