Just as there is no one language that is universally suitable for every programming task, so is it in the world of software APIs. I have often found that one size does not fit all.
Sometimes the task at hand may require an API that provides a high degree of flexibility, extensibility and/or transparency. Simplicity and a small footprint may be required on some other project. Yet another may...