The intention is to provide an API that requires little or no work on the part of the service relying on the data. Having had to work with thetvdb's API I can attest to having to download ~100 XML files (all languages…) in order to determine if anything is new, their API is often 2/3 days out of date, some internal caching problems and problems with scaling, they only deliver XML, poorly compressed (owing to key structure).
I believe services such as trakt.tv and similar should be able to do one thing, and do it well, offer a to-do list of shows you should watch, and summarise what you have watched. And they shouldn't have to write thousands of lines of code to interface with an API for what's actually quite simple.
In my (admittedly contrived, and not representative) benchmarks the JSON representing a typical TV series is 76% smaller, and parses 56% faster (that is probably representative of years of research and work into making fast XML parsers, and JSON being a relatively young format)
Also, I find it strange that they don't provide a notifications API or changes stream.
I don't want to call thetvdb specifically, many API and data providers make the same mistakes, if one can call a missing feature a mistake. (TradeDoubler, many financial APIs, etc)
Another departure from typical API design is to accept that many movies, shows, books and so forth are provided simultaneously (or, close to simultaneously), world wide, in multiple languages.
Therefore any API that purports to represent them must acknowledge that English isn't the default language, but it may have been the language in which the media was authored, and that airing dates, shipping and printing dates are worthless without timezone and language information.
My goal is to make an API that is easy to use, and can open the creativity of the community up, by allowing something that is now rather difficult to become easy.
To call out some of the problems I've tried to solve: timezones; networks; outlets (web); airing dates vs. availability dates (locale specific); actors vs. hosts vs. cameos; returning series under the same name; specials vs. pilots vs. shows about a series; treating different languages with equal weight; encoding (utf-8 naturally); gzip; msgpack... I'm sure there are many more which I've forgotten, but that's the gist of it :-)