In the early days of SEO, any web designer who understood tags & titles could perform SEO on a website. In fact, we used to do this even before SEO was formally recognised.
As the web and search algorithms evolved, the degree of complexity in obtaining high search engine rankings went on increasing. Today, it is very hard to find one person who can perform all SEO roles. This is because SEO involves :
Business Analysis : The ability to understand a business and the search function in light of that is a core SEO skill
Content Writing Skills : With content (and now comprehensive content) becoming vital to SEO Rankings, it is imperative for an SEO expert to have basic content writing/editing skills
Programming skills : A good SEO needs to have intermediate to high knowledge of database technologies as websites are made in a variety of content management systems and making changes needs good PHP/ASP Skills
Understanding/Insight of Search Algorithms : This is a vital skill to be a good SEO. Reading can provide knowledge but insight comes with experience.
Tenacity : An SEO professional needs a high level of persistence as promoting a website offpage is a crtitical skill and comes with arduous effort performed over a period of time.
Most companies find it difficult to find SEO all rounders who have all the above skillsets. That is why, they create a team of people who work together to obtain the rankings.