The simple straight answer is because to do it properly it's very, VERY, time consuming, and it takes a few years of trial error before you actually start knowing exactly what it is you're doing. So that bunch of quotes you've received from REAL SEO companies might be tempting you to reconsider some of those "£50 for 2,000 back links" offers you've been receiving in your email inbox.. Don't do it!
If you can rely on one thing, you can rely on the fact that there is no secret magic formula to get you to the top of the search engine results. The cheap offers you will undoubtedly have received by phone and email are not from somebody who has invented a special formula that nobody else knows about, they are from somebody who has a different agenda altogether. They don't know anything about your business or your keywords or your objectives and yet they promise to get you to the top.
Google actually tell you what to do to get good rankings in their search results. They're quite explicit about what needs to be done. And you can do it yourself, but if you're running a business you're unlikely to be able to put enough time aside to learn what to do and then actually do it. Even if you do have the time, do you want to become an SEO specialist? If you do that's fine, but if you want to get on with running your business then you need to pay someone who's already learned that curve and experienced the rights and wrongs.
Personally, I think people should stick to what they're good at and build on that. I don't decorate my house because I quickly discovered I was no good at it after throwing various decorating paraphernalia across the room, so I get somebody who's good at it to do it
Having said that, SEO is not a science or a black art (like decorating your rooms is). It used to be, but not now, anyone can learn what to do to promote their website in the search results, the internet is littered with information on how to do it, and right now there's no better place than Google to find that information, carrying it out is just a matter of time and expertise, and that's what you're paying for, time and expertise.
The level of your SEO investment depends on four very important things:
1. How quickly you want to achieve results.
2. How competitive your key phrases are.
3. Your budget, obviously.
4. Who you employ to do it.
So this is an unfortunate fact: The business which invests £1,000 per month is going to achieve results much faster than the business which invests £100 per month in the same market. And this where SEO can be likened to almost any sport: The more money you throw at it (in an intelligent way) the more successful you will be.