The way I usually explain it is that there are a ton of great, off-the-shelf solutions like Squarespace, Weebly, and even WordPress with a Template that allow a small business owner to get a nice looking functional site up quickly and cheaply.
But at some point, you can't look exactly like 100 other companies that used the same template. Or maybe you have some edge cases that the pre-built stuff just won't do.
That's when you need something custom. I much prefer to design and code everything from scratch for my clients so they get exactly what they need.
Now, you'll most likely still need some sort of content management system so you can update and publish pages yourself, but I, too have many concerns with WP and use Craft CMS instead because of it's flexibility.
As far as hosting, there are a few things going on. A good web developer will know what hosts are fast, solid, secure, and easy to use. The reason we often push platforms we are familiar with is because it's easy to rack up huge bills dealing with sub-par hosting and we are trying to save you money.
Or the opposite is going on, and that developer has a white label relationship with the hosting company and wants that recurring revenue from you, regardless of whether that host is the best choice for you.
I prefer to tell clients who to host with to save them development costs, but let them pay themselves so they have full control over everything should we ever decide to part ways.
Happy to chat if you have any more questions.