When Do You Need A Dynamic Website?
In web design there is a simple answer - When your content must change, update, or be served up on an individual basis. Let's look a bit closer at this most basic of guides.
Imagine that you have a blog that adds or updates users comments in real-time. This scenario is easily accomplishedusing dynamic web design. The users posts are sent back to the server where they are added to the list of comments and sent along to other users usually during a refresh. In a sense, the code was amended by the user for all future users of the page. Magically. Well, not really magically. The programmer wrote scripts that allow the change to happen on the fly. The web page was structured to be in constant communication with the server. This is not possible with a static site...Yes, there are services that can accomplish this FOR a static site but the static site can not do this on it's own. Let's see why.
When the owner of a static site creates and adds content to the site, they build the site on the server and ship the files "as is" to the user. Everyone viewing the pages see the exact same thing until new changes are made and the site is rebuilt. This does not mean that input and interactions don't happen - they do. People still see different things depending on what they "click" on. But, everything that will ever be seen and everything that can happen on that site is there when it is served. Static sites are great for informational and small business' that don't change their line of services and goods often. They are super fast and efficient. Own a restaurant? Static is your best bet every time.
Now if you need to serve different content to different users, say a membership site that tailors content based on users "likes", a dynamic site is going to get that done. It can adapt and evolve to user's inputs. They can be coded to remove and add inventory in real-time. A static site needs a third party service for that kind of functionality. A user can query for individual data or information that gets rendered and served specifically to that user. This easily allows individually targeted content. They are slower and more expensive to operate and develop, but can save extraordinary amounts of time and energy managing a changing inventory, user base, or when consuming input.