This worked amazingly well for me with my fantasy football website. I made software to let people do free mock drafts. Over the last five years it's grown substantially with virtually zero advertising. I then sell premium fantasy football software to those visitors. Also, I aggregate data and have become a reliable source that people link to. Building the free app and becoming a source of data has led to my site becoming the #1 result in Google for just about any search term that I care about.
It's sort of a twist on the freemium model. The conversion rate is very low, but the customer acquisition cost is virtually zero, so it is still profitable.
http://www.kalzumeus.com/2010/01/24/startup-seo/
http://www.kalzumeus.com/2010/07/17/seo-for-software-compani...
Repeatability is a core, baked-in element of the strategy.
1. Identifying your customer 2. Creating a fulfilling customer experience
Now there's a ton of ways to support #2, but if you've truly understood #1 you know which ways to follow with. The hard part is making the experience consistent yet unique for each customer/customer type you have. Measure everything, or create proxy measures and plan before acting.