The main issue to me is that 3d party plugins tend to overgrow and to add excessive features and optional functionality.
Typically you install something like “The Simlpest Lightbox Forever” with 10 strings of code inside, but 3-5 years after it appears to be “The Mega Universal Media Gallery with Super-duper Cloud Features and Native Youtube Support Right From the Box”. And if site goals doesn’t match author’s vision or trends, plugin remains almost unused. But you still have to carry 95% of unused code from project to project and apply tons of disablers, tweaks, filters. And each stuff generates notices, sends emails, asks for donations, injects bugs and then releases fixes.
For example I have ~20-50 strings in my functions.php just to disable some Yoast SEO features. E.g. “readability analyses” which is incorrect for my language (for now), “primary term taxonomies” that I don’t use, notifications etc.
It’s rather hard to manage tons of plugins when supporting 20-50 sites. Sometimes you have to keep monster plugins just for legacy reasons. Such projects tend to become oversized and slow if you don’t fix things manually from time to time. And if you switch some projects to newer and simplier plugins, your common stack of support grows (and probably you’ll face the same trouble with younger ones in 2-3 years again). And you can’t just disable updates, as you still need to get bugfixes and patches and keep them up to current CMS version.
So I usually have to choose environmental plugins (e.g. ACF, Woo) that I suppose would match main site goals for a long distance (1-3 years at least). But avoid third-party solutions for implementing small features becuse it’s often cheaper to support 10 direct strings in functions.php (or self-made plugin).