An SEO company will help you optimize your website for search algorithms. When you hire an SEO company you're typically paying for them to build you a website, fix technical errors and of course writing content for you to help your customers find you.
In the grand scheme of things SEO companies aren't really that expensive. Lets say you hire a minimum wage employee 40 hours a week to manage your website. If the minimum wage in your state is $7.25 then you will pay that person $1160 a month and this person is expected to do the basic obligations of the position.
When you hire an SEO professional to manage your website their job is to write and rewrite content on your website, this can be a blog answering a question that your customers commonly ask, a webpage to highlight a product or service, or a social media ad promotion. Typically if you hire a cheap SEO company to manage your website the quality of the articles tends to be worse.