You need a separate server for development. (If you developed on the directly on the live site, users would see constant rapid changes and errors as you debugged).
As a developer you keep a copy, a mirror copy, of the live site on your development system. That enables you to make and check changes and additions locally. When the new material is debugged, you FTP it to the live server.
In a large organization, a manager may have to review and approve changes on the development server before they can be transferred to the live server.
Large sites with many developers may use a content management system to control the process of authoring, reviewing, approving and eventually publishing new and changed content on the live site.
Sites grow over time. My Web site, which began in the early 1990s has grown pretty much daily ever since. I just checked and it is 14.4 GBytes, 42,098 files, and 2,734 folders. (That is counting even small files like GIFs used in rollover menus).
As you can imagine it is necessary to organize a site into many folders and subfolders in order to keep track of things. They are all under the site root directory: c:\inetpub\wwwroot\som\. There is a corresponding directory on the hard drive of the Web server and it contains an exact copy of the file structure and files on my development system.