If I was a webservice, such as Twitter, how does creating an API for people to access my data help me? I can see that they are extending your service to areas that you might not have the resources to expand to (in a way extending your own service), but is it worth all of the bandwidth and infrastructure costs associated with giving access to your data?
All of those little Twitter apps can’t be bringing in money for Twitter. I would presume the opposite.
EDIT:
ANSWER 1: Someone with time/money can make your service more popular. You can also place limits on the API usage (as Google does).
ANSWER 2: It is easier to add value to your service than to clone your service. This additional attraction can make/break your site. You can even charge for access.
ANSWER 3: An API is good when it extends an already-working business model. (Don’t be Twitter.)
The benefit is clear and you mention it. Someone with time (or money) and a certain inclination can make your product do something you didn’t see value in, thus making your product more popular. You can balance the cost/benefit scale by placing limits, like Google does on some of their APIs (1000 requests/day, for example).
This is of course no substitute for having a business plan, which Twitter seems to lack, with or without APIs.
All those Facebook apps for sure are bringing lots of revenue…