Most people (understandably) have never been involved in building a site, and have no idea what goes into the process or how long it takes. Expectations are all over the map, but generally the consensus is "I'd like it done as soon possible."
We can estimate how long our design part is going to take, but it's very difficult to estimate how long a client will take to do their tasks. We understand the delays, and can work around them. But it's important for the client to understand them as well, so their expectations on project turnaround will be better informed.
#1 Reason More Time is Needed?
But the client already has a full-time job, and not always enough time in the day for writing or approving content. So delays are often introduced, where certain features or designs can't be completed without a clear picture of the content to come.
So to give you a ballpark idea of how long it will take, let's just look at a "typical" small to medium sized website.
Small sites 5-10 pages 2-4 weeks
We can and have done them in 1-2 weeks. I admit that this requires the client to have everything ready to go from the moment the project begins; content written, pages planned out, photographs chosen, etc. But even with all your ducks in a row, is this enough time to do a good job?
In my experience, even the small sites take more than a couple weeks. There's still some planning that goes on, and time is needed for good design and development. If we're treating each client as unique (and we do), we need time to reflect on your needs, your target audience, your industry and competitors, your messaging, and so on.