SEO is great if you have the time to invest in proper website development, content, link building and have someone doing it honestly in ways that aren't going to be torn down by the thousands of updates Google does every year. It's definitely a process, but just like a roof, if you build it right it'll provide value for a long time!
Also important to credit Eric on his last point on what an SEO company should be doing: rankings are nice, but you can't pay your bills in them. Have to make sure the terms you're trying to rank highly for are bringing in leads, otherwise its a waste.
I tell people the same thing with PPC and clicks: I can drive thousands of clicks for pennies if thats what you want, but if they don't convert, then all they did was cost you money!