A static web site is one that is written in HTML only. Each page is a separate document and there is no database to save records.Its means is that the only way to edit the site is to go into each page using ftp and edit the HTML - so you'd either have to do it yourself using a webpage editor like Dreamweaver or FrontPage or pay me to go in and edit the site each time you wanted something changed.
A dynamic site is written using more complex server side code in language like PHP, Coldfusion or ASP.NET and can do a lot more. For instance, I can make an area where you can log in and change various parts of the site, such as adding information, uploading file. This is because each page is constructed based on the login information in a database, and the login information in that database can be changed via another interface.
Dynamic sites can reduce ongoing costs if you don't want to change things yourself with a webpage editor or with in the HTML file. They usually cost more to develop, as they require more complex coding and a content management system utility needs to be developed to help you manage your website information.
Another benefit of dynamic sites is that they allow you to change only the content, insert images, link the conent, format the specific content of the site and not the design, so you will not be able to delete / update the visual style of the site. They have other benefits when sites start to get very large, as they make data management much more efficient and your site more expandable.
Many website owner do a combination, having some dynamic areas such as a product catalog where they have to change product description or pictures regularly, and leave other pages such as contact us, about us , policy content as static pages.