They're not so bad when they're not broken; a lot of the time, you can't even tell that an ad is using them, because it's natural and appropriate.
Here's the (best) use case: let's say I sell garden equipment: hoses, sprinklers, garden gnomes, etc., so I advertise on those terms as keywords. I could have one ad that says "Best Garden Equipment", but tests show that ads work better if they specifically name the product that the user is looking for. So I can use keyword expansion to have the ad say "Best Garden Hoses", "Best Garden Sprinklers", "Best Garden Gnomes", etc., and not have to manage a lot of different ads.
This can be used in much broader cases, too, such as if I have hotels in 500 US cities: load up the keyword expansion with the names of all 500 cities and run an ad with title "{CITY_NAME} Hotel Rooms".
The problem is when people load it up with a jillion keywords in the hope that, if they get a click, they'll look for matches in their product database afterwards, and sometimes they fail.
So, yes: frequently lame. But when it's not misused, pretty useful.
When we ran the AdWords account for [major UK travel agency that you will have heard of] we never used templates. We created 50000+ keywords and thousands of associated adverts -- with a mix of hand-written keywords/ads and custom code to generate them. And we tuned the results frequently, which often involving writing more code. (In OCaml, no less!)
If you don't take shortcuts, you get better results.
Yep, it's extremely frustrating to find that a google search result that claims to contain what you've asked for, only to click through and find a search page with the following:
'No results for "what you just searched for" found here'
I see why you do, but that's such a shame. DKI a damn useful feature that could help both customers and businesses, but it's 'exploited' in a way that doesn't even help the people who are destroying it.
When used appropriately by the business it could alert the consumer of a relevant product/service and hopefully a special deal. This helps the consumer easily find the product/service and possibly save money. It also helps the business nab a sale they weren't necessarily organically ranking well for.
Let's say you're looking to buy a lawn chair on Google.
Without DKI: You search "Lawn Chair" and see a list of ads with headlines like "Target", "The Patio Store" and "Summer Furniture".
With DKI: You search "Lawn Chair" and the first thing on the page is "Cheap Lawn Chairs".
This is better for you as it's immediately clear where to click to find the thing you were looking for. DKI allows small advertisers, who have neither the time nor capability to manage hundreds of ads, the ability to still present an ad that is tailored to your search when they offer what you're looking for.
The ad still has to actually link to the lawn chairs you wanted. If it doesn't, that keyword would be rejected by the AdWords editorial team in the advertiser's campaign for that landing page. Even if it made it through review, it'd suffer algorithmically compared to ads that do link to lawn chairs; the bounce rate and poor landing page relevance scores would drop the ad's Quality Score, which means ads that do link to lawn chairs will rank above it, or the ad won't be displayed at all no matter what the store is willing to pay per click.
The domain name section of the ad is probably some fly-by-night "cheaplawnchairs.info" domain. I'd still pick Target, as it's a reputable company I can probably go visit in person to take a look if I like.
Here's the (best) use case: let's say I sell garden equipment: hoses, sprinklers, garden gnomes, etc., so I advertise on those terms as keywords. I could have one ad that says "Best Garden Equipment", but tests show that ads work better if they specifically name the product that the user is looking for. So I can use keyword expansion to have the ad say "Best Garden Hoses", "Best Garden Sprinklers", "Best Garden Gnomes", etc., and not have to manage a lot of different ads.
This can be used in much broader cases, too, such as if I have hotels in 500 US cities: load up the keyword expansion with the names of all 500 cities and run an ad with title "{CITY_NAME} Hotel Rooms".
The problem is when people load it up with a jillion keywords in the hope that, if they get a click, they'll look for matches in their product database afterwards, and sometimes they fail.
So, yes: frequently lame. But when it's not misused, pretty useful.