Speaking as someone who provides search engine optimization services, I can tell you there is a lot of confusion regarding the role of an SEO professional. Much of this results from the acronyms and phrases used in the field. Businesses will pick them up and throw them around without really knowing what they mean. Even worse, many businesses do not know what they really want or even that they should be asking the question.
An SEO professional can fill a number of roles for a business. The simplest situation is one in which the business simply wants the SEO wizard to crank up the rankings. This sounds obvious but rarely is the case. Instead, the business is really looking for improved rankings and a little more.
It never fails to occur. A client just wants you to move them up in the rankings. You come to an agreement on price, suggest some changes to the site, and then head off to build links, etc. A week later, the client is calling with questions on conversions, purchasing banner ads, and so on. Next week, they call with questions about pay-per-click and so on. This is all fine, but the hand holding can be very distracting and frustrating.
When retaining a person or business to handle your search engine optimization efforts, it is important to step back and think about what you really need. Are you looking just for top rankings or do you want insight into your site? Are you, in fact, willing to take some advice, particularly if it is critical? Clarifying this with the SEO person from the outset makes things run much smoother and keeps feelings from being ruffled.
Some companies believe they are retaining a person to simply get them high in the rankings. Others believe they are retaining a person to get them high in the rankings and advise them on their products, site, etc. The only correct answer is what you agree to when the pen is put to paper at the outset of the agreement. As a person on the SEO side, I only ask that you be clear in indicating what you want from the outset.