You're not forced to use Jekyll. You just get some nice things if you do. As long as you have a pages repo with an index.html in the root, GitHub can serve it for you. How you generate the repo is completely up to you. I have my own custom static site generator that I use to publish my blog, I use that with a script that does some git dance to keep things clean and it just works.
If you don't use Jekyll (let's say, e.g Hugo) you have to commit the content/artefacts to be published to the repo. Committing artefacts to a repo, even if it's a dedicated branch with a separate root, always seemed like a glorious hack to me with consequences such as CI needing push access to the repo. GitLab CI+Pages doesn't need such a hack but then, competing with that would mean GitHub would basically have to allow running arbitrary process during the publish pipeline, which means they'd enter CI space.