I really like this idea that Dave Winer has put forward: "Let's make the Google API an open standard", where he says, among other things:
"We've asked for a plug-in architecture for search engines, and if we can't have that, a solid easy-to-program API is a pretty good alternative."
Read the whole thing - there are some really good insights there.
Think of it, you could build a "search powered" application. Ok you can do that now, but you are limited to powering your API with Google and no-one else.
What if you could let the user select which search engine to use? Google? Yahoo? Or some upstart whipper-snapper?
If you are familiar with the various utilities that exist to make it easy to post to your blog (BlogJet, Ecto, and so on - there are several but those two are my favorites,) this is analogous. A general utility, allowing the user to choose from several back ends with different strengths and weaknesses.
Isn't that cool? I get a nice graphical UI to post to my blog, whatever blog service I use. Powerful. And not coincidentally, also enabled by an API (the Meta weblog API) that Dave put forward some years ago. Nice!