A static website doesn't change. It's usually just a bunch of html, css, and possibly javascript files that are served by a simple webserver.
A dynamic website has a backend written in a language like PHP, Python, Ruby, Node.js, etc. These sites can take user input and change their content based on databases, external APIs, etc.