I'll add a quick point that might not be obvious. There are actually three things you'll need to consider: a domain name, hosting, and your content.
TL;DR: for a simple blog-ish site, I would recommend DreamHost shared starter plan (USD$84 per year after promotions end, includes a custom domain name) and use GetSimple as the basis for your site (which can be installed from the DreamHost panel). Email costs a little more though.
A domain name typically costs less than USD$20 per year, with some top-level domains (like .online or .xyz) being only a few dollars per year. There are lots of ways to set up a site with a free subdomain (yoursite.hostingprovider.com) if cost is a barrier, but buying your own makes for a shorter and cleaner website name, and you can take it with you if you want to change your hosting. Most companies that offer domain registration will offer hosting as well, and they sometimes bundle them (a low-cost plan on DreamHost includes one domain name for free). Owning your own domain name usually means you have more options for setting up email as well.
For hosting, there are lots of free and easy options that others have mentioned (github pages, etc). Typical low-cost plans from many dedicated hosting companies are around USD$5 per month. Paying for hosting gives you more options for what you can do with your site--if you want WordPress, for example, github pages won't be a hosting option. I've had a great experience with DreamHost, and BlueHost is a solid option as well.
Finally, generating the pages is its own challenge, and there are some wildly different ways of doing it. As others mentioned, I would avoid anything with a database if you can (WordPress being the big one). If you want a blog-ish type of site, I recommend GetSimple (I've had a few non-technical friends who were very happy with it). Or you can use a static site generator, though the workflow for many of those is often not as easy in my experience. Or if you're feeling plucky, you can write the pages in HTML, CSS, and JS, and/or throw some PHP in there. I use skeleton for my site.