A dynamic website is distinguished from a static website. The difference is that a static site, as the name implies, has ‘flat’ or unchanging content whilst a dynamic site, often with the help of a database, constructs and serves pages on the fly.
Thus, a static page may be a piece of HTML that contains all the menu items, the page content and links. A dynamic page however will most likely be a template, pulling in content from various locations: a table containing page content, the navigation links from somewhere else, and hence each page is generated on the fly as it does not exist in its entirety on the server.
The advantages of dynamic sites are several. First of all, they make large sites practical and easy to maintain. If you have a template that pulls in menu content from a database, for instance, then you only need to update menu links in one place for them to update across the entire site. With simple static HTML pages, you would need to update everywhere at once.
Dynamic sites enable you to run a site primarily from a database of content, and from just a few template files that serve all the content. Trying to reproduce a large site using flat content files is time consuming and very tricky.
The only potential downside of producing a dynamic site could be with the cost, depending on what technologies you choose.
However, there are some excellent combinations out there – many sites running off PHP in combination with mySQL. Your first step will be to buy a book on PHP or the language that you choose to use to build your site, and get familiar with it.
There are many excellent introductory guides to using PHP and mySQL and within a couple of weeks you should be up to speed and well on the way to building a dynamic, database driven website.