Ben Bangert talks about Python Web Framework Niches, specifically detailing TurboGears and Django. I think he’s on the mark that each framework defines its niche based on what it’s asked to do. The best APIs are ones that solve real problems for applications, and not ones that are just created because something sounds neat or potentially useful.
The part that Ben leaves out is the matter of taste (which I touch upon in a comment). I’ve done a lot of work with Perl, and I still think its a good language for quick one-off scripts. Perl certainly can be used to create large systems, and I’ve worked on large systems written in Perl. Some people swear by it, but I don’t like large Perl programs. That’s purely a matter of taste, and I’m sure this extends to the APIs we chose as much as it does to the programming languages we choose.