seo is better cause it is cheap and it will give you long term traffic
comparitively speaking SEO is not cheaper and requires more time and constant development. and it may bring more traffic over a sustained period, but again this does not always correlate to sales.
over the years I have done plenty of SEO for websites, but have of the past few years gone off it completely because it seems like a whole lot of work for very little return. If my client is gung-ho about it, then I pass it on to an SEO expert in my area. and yes the traffic goes up - substantially - and stays at a higher rate, but the sales do not go up in the same ratio.
when I have done marketing campaigns, email send outs, print and brochure, as well as TV and radio advertisements (which all can be done cheap and relatively quick) I have noticed spikes in the traffic, but more importantly higher spikes in sales. For me and my clients, this is the best approach, and with clear concise and relevant content and semantically marked up HTML, the sites generally bump up the rankings on their own right.
you can push a website as much as you want with SEO, but unless you are selling something that is unique, you just get lost in the masses, no matter whether you are #1 or number #135, and people are picky you know. they judge on first appearance. so whilst I agree that (for some) SEO is their world and (apparently) its the only thing that needs to be done, but the amount of sites that have great SEO but fail miserably in all other aspects, coding, design, uniqueness, are in all honesty just vacuous holes in the web.
If I see another of those stock images of crap people smiling in suits and shaking hands, or looking up and pointing seriously at something in the sky, next to a big corporate building which clearly isn't the company the website is about, I'll throw my monitor out the window!
and whilst its all good and well to write for computers (which is all SEO is, a big fake BS rort which just fit the criteria of search engine algorithms) I prefer to write for PEOPLE. and people are not stupid, and they can see that you've keyword crammed your website, and you come across as a wanker. and no one wants to buy from a wanker...