At the time of the consultation of a page, the server invariably loads the same page without changing the content.
On the other hand, a Website is dynamic when certain pages are constructed by the server in real time during the consultation. The pages are written in another language than the HTML and are executed by the server that generates HTML pages following a request.
The languages that can be installed on the server are PHP, JavaServer Pages (JSP), Active Server Pages (ASP), or Python.
So as soon as your site needs to access a database, to insert information into your pages, display different content based on users, or an event, it will be dynamic. It will also be the case if it incorporates a blog engine or a content manager system (CMS).
Compromise between static and dynamic Website
Few sites are completely static because some parts must communicate with the server in real time, as a customer management page for example.
It is wrong to assert that a static site is difficult to maintain because the editors must type their blogs with an HTML editor. Web development tools have existed for a long time and they allow to prepare in advance your publications and they update automatically the Website.
You can also use a content manager and install it on your computers rather than on a remote server and periodically transfer static content.
But the current trend is to use a content manager installed on a remote server. This gives the opportunity to one or more users to add, modify or remove pages from the site.
So, you have a real dynamic site easy to use.
With regard to maintenance, in all cases, there may be difficulties (change of style sheets, optimization for search engines, problems with the database).