Alt efter hvad du arbejder med og hvor komplekst det er, kan der være fordele og ulemper ved begge fremgansmåder.
Den helt professionelle metode vil typisk indeholde et hold af udviklere, der hver afvikler en lokal server på deres computer, samt har en lokal version af siden de arbejder på. Det er typisk sat op med versions kontrol ala SVN eller GIT så de hver i sær kan sende deres ændringer op til en fælles produktions server der ligger online. Derudover vil man typisk have en QA server (QA = Quality assessment), hvor til man kopiere det der ligger på produktions serveren, et par gange om ugen, så testere kan sikre at alt virker inden det bliver sendt videre til live serveren, og dermed ændret på den "rigtige" hjemmeside.
Det er lidt overkill når man har en mindre hjemmeside, men der kan nu stadig være fordele ved at have både en lokal og en live version. Det er meget normalt at man periodisk oplever fejl imens man laver ændringer eller tilføjelser i koden, og hvis man arbejder direkte på den live version, vil det altså betyde at potentielt besøgende også oplever disse fejl. Dertil kommer at man nogle gange kan komme til at lave fatale dumme fejl, som at slette tabellen med emails der er gerne vil modtage nyhedsmails eller lignende - Det vil man hellere gøre på en lokal kopi end på sit live site! :D
Jeg har dertil oplevet at man nogle gange kommer i klemme med sin webudbyder hvis man har et billigt webhotel. Ved at udvikle på serveren kommer man hurtigt til at overskride den månedlige bandwith, hvorefter forbindelsen bliver dræbende langsom, både for dig samt besøgende.
Ulemper ved at køre med både en lokal samt en online version kan være at man ikke altid har de samme server instillinger, med problemer til følge.. Det kan være lidt langhåret at få styr på, og årsag til utallige raserianfald :D
Samtidig er din lokale kopi, i sagens natur, ikke tilgængelig fra en hvilken som helst computer, men kun den den ligger på.