Note, there's a big difference between general purpose computer software, and microcontroller firmwares.
What a usual "software developer" person understands with a "library", is a thing that would take possibly tens of thousands of Lines of Code, and months of development time to replicate. Libraries are essential in any large software project so you don't need to reinvent the wheel every time. Examples include printf with all the formatting stuff, or larger things like computer vision algorithms.
In the microcontroller world, this is sometimes the case, but often not. Remember, even with the microcontrollers (except the very tiniest ones), the standard C libraries still exist (printf, math, etc...), as do the more specialized stuff (like OpenCV) if you have a beefy enough MCU.
That's why they ("most people" referred in the title) talk about vendor supplied libraries. The big question is, what purpose do these libraries serve? The obvious answer is, they most often abstract the hardware.
But, with microcontrollers, the hardware is designed from scratch to be simple to control. Often just some 2-5 lines of code to configure a peripheral, and 2-3 to use it. So now, obviously with little technical need for the abstraction layer, but a corporate policy need instead, the task of creating mostly unnecessary libraries are left to those who are not the brightest minds in that company.
As a result, it's usual to see the pattern that it takes 100 LoC and 5 hours of development time to do things X,Y and Z on a microcontroller. With libraries, it may take 200 LoC just to "configure" and "use" the library, and likely 10 hours of development time; if it's possible to do the combination of X,Y and Z using the libraries at all. Having to link in 10000 LoC of something likely buggy is an added non-bonus.
Usual examples include the GPIO and basic peripheral (thing about UART, SPI, ADC...) configuration using the STM32 libraries (easily 50 lines per peripheral, never written by the developer, always copy-pasted from Stack Overflow, example projects, or autogenerated) which provide no abstraction whatsoever - all the low-level details are exposed in the library "instantiation" code, but in a way which makes debugging harder. Naturally, any sane programmer does not use such practices, and will therefore say "vendor supplied libraries are bad", from experience of seeing such patterns.
This being said, I'm sure some good and usable vendor-supplied MCU libraries exist.