If you work within a web agency or are a freelance web designer and programmer then you need to ensure that you manage any website project correctly in order to deliver what the client wants, on time and within budget. When changes are made during the programming stage, this can result in extra time been used to get the website complete. This time will either need to be paid for by the client of swallowed by the programmer. To avoid instances like this happening it is important to discuss in detail exactly what the client wants. You should ideally create at least one of two flat visuals of the main pages so the client can see exactly how it is going to look. This will then allow them to check and change anything they are not happy with prior to programming. Changes at this stage are very straightforward and can avoid complications down the line.
You may find that some clients constantly want to change things despite signing off and agreeing to a visual. If changes are requested after signing off, you may wish to charge them for the additional time it will take. Sometimes it is better to get the site live and then start working on a phase 2 which can be updated on to the live site when complete rather than delaying the launch of the new site.