As you discovered, advertising is only worthwhile if you are reaching the proper audience. Adwords should be a last-resort as it is way too easy to cast a very wide net and takes quite a bit of effort to tweak.
From your description you had the 'content network' enabled in Adwords, which is indeed a very easy way to waste your budget on useless visitors. The content network means that your ads could be shown on all the sites out there that use Adsense (I think you mixed Adsense and Adwords: Adwords is Googles ad-delivery platform and costs money, Adsense shows those ads on non-Google websites and allows the website to earn money).
Stick to the 'search network' (Google.com and related sites) only and limit your keywords to only the most relevant ones. Google will automatically broaden searches, so learn how to adjust your keywords to limit their range and use negative keywords to avoid matches on irrelevant searches.
Also, I've often seen Google mentioning that I should set the cost-per-click higher as my ads weren't showing, but they were showing regardless.
So for those of you looking to use Adwords: start off slowly and know that just as you are tweaking your keywords and prices, so does Google tweak their algorithms to get the most out of advertisers. You don't become a megacorp by giving out free lunches.