I always think that there is a lot of 'kidology' associated with Search Engine Optimisation (SEO).
Although many suppliers of SEO Consultancy seem to give the impression that they can rank websites at No 1 on Google, the actual objective is to rank the site (or page) highly for particular 'search terms'.
Therefore, a major factor in the page ranking would be the uniqueness of the search terms - the term 'French Holiday Lets', for example, would most-likely generate a huge number of hits whereas 'Moonrock for Sale' would not.
That's true even if you pay for your link to appear near the top, using a service like Google Adwords.
Obviously, you need to think carefully about the search terms people might use to find your product or service and ensure that these terms actually appear in your site.
Given that Google and other search engines don't actually publish their ranking criteria, which may change from time to time, it is largely a matter of guesswork as to what might be important.
Thinking about it logically, if 100 clients all pay SEO consultants to optimise their site for a particular term, one is still going to be ranked No 1 and another No 100.
In the early days of the internet, it was necessary to 'submit' web sites to Google, etc., and wait a few months for them to appear on searches.
Nowadays, new sites seem to automatically appear on Google, and other search engines, after a few weeks.
Although some initial SEO consultancy might be useful to ensure that the basics (page titles, meta tags, genuine links to your page, etc.) are covered, I think that pay-per-click services such as Adwords are probably a better long-term investment.