In addition to APIs and SDKs to used those APIs, there are also "components" and "frameworks."
A framework allows writing code in a higher level of abstraction than at the raw API level. For example, for Windows C++ coding there is MFC which wraps the C Win32 API in C++ classes with a framework for cleaner message handling.
A component, component library, or library can be written to be used with a raw API, or on top of SDK code, or as part of a framework like MFC. A component usually offers specialized functions like Zip archiving, text editing or image manipulation.
These are all just different tools. A hammer isn't "better" than pliers.
A framework or component might save a lot of time if it satisfies some need, but only if it works the way you need it to, costs less than the time to develop it in-house, and (for commercial development) has an acceptable license.
Cost-benefit is just that and varies by situation.
Cost includes purchase price, royalty or redistribution costs (if any), time to learn to use it, time to work around limitations in their code, and (harder to quantify) lost revenue if there are limitations that can't be worked around, leaving you unable to deliver features.
Benefits include time saved, learning saved (for example how to do resampling of images), having large blocks of complex code already tested for you by other users of the component/library/SDK, and often being able to ask other users of the component for solutions to problems.