Before you start a website, you ought to have a good idea of what the premise of the site will be. What will it be about? How will it be different from similar sites in that niche?
You need a domain name, which you may purchase separately or with your hosting, depending on the company or companies you choose to buy from. Your name should be memorable, available, and not too long.
I wouldn’t pay for a theme, at least not at first. There are hundreds available for free. I’m still using a free theme (Smartline Lite) and it has served me well.
Plugins are little helpers that performs tasks within WordPress. Many are completely free or have a free “lite”version. I haven’t paid for one yet, although I’m sure I will at some point.
Before you do a lot of writing, do a lot of reading. If you are starting a blog, you’ve probably read some blogs and have an idea of what your voice will sound like, and how it will be different from the rest.