An SEO company provides search engine optimization for websites, which is where the acronym comes from. What this really means is that websites can be designed however you would like them to look and that used to be just fine many years ago, but now that most of the search engines have gone away or have been consolidated into a select few there are more guidelines in place. These guidelines will not stop you from doing whatever you want, but they will prevent you from being anywhere near the top positions if you do not follow them.
An SEO company knows what these guidelines are and how to use them to optimize a website. This optimization is not something that will rocket your website to the top, but it will slowly get the site to move up the ranks. It is a slow, but steady race as once a SEO company gets you to the top positions it becomes difficult to be removed from them.