In order to build a website from scratch, there are 3 main steps which website developers follow. This could be for a small 5 page website or a big 100 page website for a larger organization or company.
The first step is coming up with a wire frame. Which is basically how the site layout will look like and the navigation of the site will operate. This is kind of like a blueprint that architects use when building a new structure. This can usually be quickly done and doesn't take too much time.
This is where a graphic designer sits down with you and gets an understanding of how you want the site to look. The means the graphics (images, colors, fonts, backgrounds, etc). The designer will then use his creative abilities to design the site from scratch. He will sometimes use aspects from other websites as inspiration. This process is usually the longest one but it really depends on the number of revisions made to the original design in order to get it to exaclty what you want.
Once the site has been designed by a graphic designer it will then need to be converted from the Photoshop file into a website. What this means is that the file output by the graphic design software (Adobe Photoshop) is not readable by web browsers and it needs to be converted into HTML/XHTML & CSS markup code. HTML is the basic programming language used to build websites and it is read by popular web browsers like Firefox, Internet Explorer, Chrome and Safari.
The final part is where the web developer takes the finnished product and then starts adding content (text, images, logo's and your menu items). He will basically link your pages together, populate it with content and get it ready to go live.
This entire process can take anywhere from 1 week to 3 months or more, depending on the complexity of the project. It really depends on each person in the chain and/or how complex the project is.
When I had my first website built back in 2003 this process took 2 months.
The cost of creating a website from scratch can very considerably. Some websites cost less than $500 while others cost more than $10,000. For a 6 page website with standard navigation, pages, logo, content, etc you can expect to pay anywhere from $1000 to $3000.