It installs Jekyll, and its dependencies, which users would have done normally, but explicitly locks the version into the same version used on the GitHub Pages server, ensuring that your local build environment matches the GitHub build environment as closely as possible. This is especially important when new versions of Jekyll are released (often with new features) and the GitHub pages servers are updated. Builds in one environment may otherwise behave differently from builds in another.