I used a shared hosting plan from BlueHost and register all of my domains at NameCheap. I load WordPress onto all of them and I use a theme and plug in called 'profitbuilder'.
All of the above (except WordPress) have countless competing products/services and if you venture down that 'rabbit hole' you might be there quite a while.
It really is simple, but things don't just happen overnight and in today's marketing world it seems everyone is promising instant results. It really can make it confusing.
Basically, if you are going to do your own website, I'd suggest getting a domain name and a hosting account then load WordPress and find a good theme you like (there are so many free ones) and then start watching youtube videos for the parts you get stuck on.
If you have the time, there really is almost no need to pay for anyone to build a website... unless you don't have the time or patience- or like me... poor with artwork---> then getting a provider to build a website might be the way.
The final piece is once you get into that realm, be aware that you will have no shortage of offers to help you along the way (for a fee of course...).
Just be careful, the SEO guys are vultures sitting on the virtual fence and see when new domains are registered and will pelt your email address with logo design, web design, and SEO offers multiple times a day. (I just mark them spam and move on, never respond... it seems to encourage them to email more because some guru said it takes at least 7 emails to get someone to buy so...)
Another idea is to search around competing company websites. Doesn't have to be a Carpet Cleaning or Cleaning business. Maybe a contractor or even a dentist, lawyer, or doctor website. If you find one you like, many times they paid someone to do it for them and you can scroll to the bottom of the page and see if the designer's credits/link are there. Contact them/look at their website and see if they are a fit to you.