For finding the best SEO agency for you keep these things in your mind.
1) They are doing it professionally and are well-versed in their field.
2) They are aware of changes in search engines (various updates and all) and can adjust their work strategy accordingly.
3) There is a lot of work to be done in SEO (including SMO) that you may be unaware of. Professional SEO companies have been doing these things for many years and are experts in this field.
4) Good content is required for SEO work. Can you write well and professionally in terms of SEO, using the right keywords and distributing them effectively?
5) There is such a thing as "over-optimization."