Adwords is only expensive if you set it up broadly and without a strategy. You want to use phrase matching and put in a maximum bid amount that coincides with your conversion rate and makes those keyword strings profitable for you, otherwise don't bid on them. Never let Google themselves set up your adwords platform. You'll get fleeced. Any broad based keyword platform is going to force you to overpay and bid on keywords you probably don't want unless you have a very healthy and strategic "negative keyword" list built out and entered. That tells google what you don't want to bid on. It pays to have a pro set up your platform and run it for a few months then learn how to take it over, turn it on and off, change ads, etc. You will save a ton of money long-term and benefit from having a well-designed, strategic platform. Make no mistake, everybody should do google adwords and bing ads (which covers bing and yahoo), even if it's just $25 a month bidding on your competitor's company name.