I do it completely on my own. You should choose the right combination of hosting solution and publishing platform/CMS that fits your skill set. Today you have plenty of affordable options for any skill level.
My favorite combination is shared hosting (Blue Host or 1and1, for example), Godaddy for domain management, self-hosted WordPress with StudioPress themes. For one-page static websites I use S3 AWS. Another possibility for static websites is combination of Jekyll/GitHub Pages.