If you're thinking about SEO, your first thought is probably, "How much is this going to cost?" And it's a great question to ask, but isn't the easiest question to answer.
Unfortunately, there isn't a standard price when it comes to SEO. It depends on your needs, and your price. If you're wondering, "Then what is a fair price for SEO?" it gets a little more tricky.
The reason many agencies don't publish their SEO rates is because there isn't a "one size fits all" approach to SEO. Questions have to be answered before a price can be determined: What are your ultimate goals? How competitive is your industry? How much on-site work needs to be done to get your website where it needs to be? Who is your target demographic? How many services/products do you offer? After these are figured out, a price can be determined.
Let's look at this way: say you're a general contractor in a large metropolitan area. You specialize in roofing and siding. You want to be found for "(area) general contractor," "(area) roofing," "(area) siding," etc. You want to spend $1,200 in a one-year period to make this happen, and you want instant results in the search engine rankings. Due to the (most likely) long history of your competition, and the competitive of those phrases, you might not get very far.
But, let's say you're a general contractor in a small, suburban area and want to target that area for certain keyphrases. You'll probably see results in the rankings before the company in the larger area.
These examples apply to local SEO efforts. Now, if you're looking to launch a campaign on a national/global level using very general, competitive keywords and phrases, you might have to rethink your budget or time frame.
The ultimate answer: It all comes down to the industry, the target area and the budget.