I get a lot of search engine traffic to my blog, with the following strategy:
Stage 1: Technical - Clean up your act.
If you structure your site properly and make it accessible, search engines will crawl and index it properly. Make your content accessible from a technical standpoint.
Clean up your HTML
Make your URLs reflect your content, cleanly
Build and submit sitemaps
Make the navigation on your website simple and effective
Make your website load quickly
Stage 2: Content - Make great stuff.
If you build great content, people will share it. They will link to you.
Build great content
Make things that help people
Stay within a niche if you can
Create content that helps people, even if you're giving a little of your service away. (For example, a roofing company featuring an article about how to choose a roof, even if it sends them to your competitor, or some DIY stuff)
If you do these things, you'll do well in search engines. I'm oversimplifying a bit, but this is way more effective than keyword stuffing, link purchasing, etc.
Just keep it honest.