Making your own website
Should you self-host your website?
You don't necessarily have to host the website yourself. Services like Github Pages will allow you to create a website and will host it for you. But, services like Github Pages may not be powerful enough for your requirements. It does not let you have a database, which you will need to make a complex website like a website that will let you create user accounts. In short, Github Pages does not let you make a dynamic website (where your web pages can look different based on the user). So, if you want a dynamic website you need to host the website yourself where you can store server-side logic.
What website building engine to use?
The most popular way to make a website is by Wordpress. It's a powerful tool, with lots of website themes and plugins to support a wide range of functionalities. You can use cloud providers like Google Cloud Platform or Microsoft Azure. However, I chose to use Hexo. This is because I am just writing a blog right now. A static webpage generator such as Hexo is good enough for me. Wordpress is a dynamic website generator and is more expensive to host. My bill for single day on Microsoft Azure was $0.3 while trying to host a simple WordPress blog with a single article.