This is differant for almost every website and also differant on what is actually meant by "work". Usually between 3 and 6 months is a good yardstick.
It's possible to do some form of SEO as a one off project but it does work best as a long term commitment. Get in touch if you prefer a one off approach and we'll let you know if it's possible for you.
If by better you mean does it provide more leads at a cheaper cost, then in our experience, yes it's better. Not always, but more often than not, especially in the medium to long term.
Paid ads are brillient for quick results and can be used effectivly while an SEO campaign is in it's early stages.