WordPress can work for both of those websites, but you might want to look into Shopify for the online store. You don’t need to worry about hosting for a Shopify store. They handle it for you.
For hosting a WordPress site you have a few options that don’t require a ton of server knowledge:
Hosting Options
Managed Hosting
Probably the most expensive option but the idea here is that you never have to worry about a server. Your site just runs and you don’t really care how. I hear that WP Engine is good although I’ve never used it.
Virtual Private Server
A virtual private server is essentially a web server that you rent from a hosting provider. Cheaper than a fully managed solution but now you have to manage the server yourself. Depending on where you rent the server from, some aspects may be pre-configured for you.
GoDaddy, HostGater, InMotion and other hosting sites like them will usually have a preconfigured server you can rent that is already setup to host a wordpress site within a few clicks. Usually the server set up with a tool called CPanel, and you can install WordPress without ever having to ssh into the server.
Usually you can do any maintenance tasks such as upgrading your PHP version without ssh-ing into the server as well. And if there’s ever anything you need that you can’t do yourself, you can often call technical-support, depending on your plan and they can do some things for you.
From a freelancer or agency point of view, a VPS usually only makes sense if the client is expected to have enough traffic to warrant dedicated resources. In other words the RAM and the CPU are 100% reserved for your WordPress site and no-one else.
Shared Hosting
This is one of the cheapest options you’ll find. With shared hosting through sites such as GoDaddy and others, you’ll still have a CPanel dashboard from where you can install WordPress with a couple of clicks. But the downside is that you don’t have dedicated resources for your site. Your site is being run alongside many others and you all compete for the resources on that server. Not a problem for sites that don’t get a ton of traffic. For example if the site only ever has a small handful of people on at the same time this is a good option. If you start seeing hundreds of concurrent users then you need to think about migrating to a VPS.
Other Hosting Options
I should mention that you could also go with cloud providers as well. I’m talking about companies like Digital Ocean, Linode, AWS, GCP, Azure etc
All of these companies vary widely in how many services they offer and the array of options and the complexity of them is probably way out of scope for what you need.
But if you’re ever in a situation where you need to build and deploy a website or app that needs to handle thousands of concurrent users, then these are the companies you want to start investigating.
CMS Options
I mentioned WordPress and Shopify already. With Shopify you don’t need to worry about hosting. For the blog-ish site you mentioned there are ways you can get around hosting as well, or at least not have to worry about and server without paying the managed hosting price.
If you host a website on Netlify or Vercel for example, most small business sites would be completely free. And there’s no server for you to worry about.
There’s a newer concept called JAM-stack. A traditional WordPress site requires a server where PHP would execute to read from a database, compile an HTML file dynamically from the data in your database and return that HTML file to the browser.
A JAM-stack site stores the blog posts as static files on a server (or CDN) so that essentially the pages are already compiled and cached, giving better page load times but also, eliminating the need for a server-side language.
It’s a bit of a rabbit hole, but depending on the needs of your client, you might not need to use WordPress at all and could instead use something like Gatsby or NextJS as your framework and something like Contentful or even Notion as the tool your client uses to update content on the site.
Here’s more info about it here: