We've tried everything, and the only two techniques that have paid off are: website SEO (including having a blog) and Adwords. Adwords is hard - we've thrown away many thousands of dollars on garbage traffic. And some keywords are in the $15-$30 per click range! (our competitors have deep pockets)