1 - you don’t need to gem install jekyll each time.
2 - while developing the site normally you would do jekyll serve which spins up a simple web server and previews your site. When you are happy with it and want to deploy a live production site you should do jekyll build. Serve and build are slightly different.
3 - If you are using the default jekyl new myblog site, it is using a theme which is sort of hidden from you - layouts and includes I think are in the themes gem folder and are hidden unless you tell it to show it to you. I don’t like this, especially for beginners as it makes it seem as if there is a lot of magic going on when there really isn’t.
4 - _Layouts is for layouts only - not for normal static files. Normal files like contact.html would go in the root folder or a subfolder in the root.
5 - you always work in the root, never the _site folder - the _site folder gets wiped clean every time the site rebuilds.
Jekyll can be complex when you start, but once you get the hang of it it is really simple and easy to work with (mostly).
I highly recommend this series on yourtube:
That series is a little old, and I think it is before the themes stuff was added.