I do agree that quite often, software bloat and *excessive* use of third-party libraries is a sign of both laziness and lack of programming skills.
I'm all, as I often mention, for code reuse though, as much as reasonably possible. So every time that allows code reuse, using libraries is a benefit. Don't underestimate the time you may sometimes waste though, rather than save: as others have said, it may take you significant time to figure out how to use some library properly, and then some more if you ever run into bugs - and bugs are everywhere. And it's usually much easier to fix your own bugs than bugs in third-party code (assuming source code is provided - if not, don't expect most vendors to react quickly to bug reports). The reusability factor may also be hindered by nasty license issues, so beware of that as well.
General code reuse is a very vague idea. It makes sense within a company, sometimes even within some BUs in a company, but across every possible kind of projects/products/companies? Not necessarily so much. So, making your OWN code reusable (as much as possible, but not unreasonably either) is a good thing, but fully relying on third-party code for that doesn't always work, and is often a good excuse for not writing reusable/portable code yourself. Which I for one don't think is a good approach.
A "common" and universal API may sound like a great thing, but the road to hell is paved with good intentions. Ultimately it comes down to the typical idea of "the right tool for the job". If you want a relatively universal API and good low-level abstraction, use some OS. But that's not justified for small projects IMHO. nctnico mentioned network connectivity as an example of the benefits of a common API (or an OS as I said), but IMO it completely depends again on the project. If your product, apart from the network connectivity/internet access, wouldn't require any kind of OS or any high level of abstraction, unless you're going for very high volumes and very low cost, using third-party chips for the connectivity part is usually a better solution, with much faster TTM, fewer bugs and and a lot less frustration overall.
Anyway, to get back on topic, given the complexity of many modern MCUs, vendors have no choice but provide support libraries. I think they would lose a lot of potential customers if they didn't.
Now whether you or your team uses them for any particular project is entirely up to you, the known shortcomings and your company's policies.