GitHub Pages is a static site hosting service run by GitHub, Inc. Static hosting means that the server sends prepared HTML, CSS and JavaScript files as they are, with no program or database running on the server for each request.
The files of the site live in a repository on GitHub. GitHub Pages takes them from a chosen branch, can first run them through a build process, for example the Jekyll static site generator, which turns Markdown text into HTML pages, and publishes the result. Each new push of commits updates the live site. A user or organization gets one site at <owner>.github.io, and each repository can have one project site at <owner>.github.io/<repository>. A site can also use a custom domain, set in a file named CNAME, and can be secured with HTTPS. GitHub logs the IP address of each visitor for security purposes.
GitHub Pages is part of GitHub accounts, not a separate product: it works in public repositories on the free GitHub plans, and also in private repositories on the paid plans (GitHub Pro, Team and Enterprise).