I'm close to relaunching an ambitious remake of one of my oldest #Drupal projects and as part of my approach, I went in hard on Single Directory Components (SDC).
The opinionated advice on these Components is that everything should be one. Stop using anything but components. After slogging through a very complex project attempting to follow that advice, I've come to disagree.
What's great about SDCs is they encapsulate just about everything about an element within a single folder for easy reference, but it's a pipe dream to think we're ever going to be able to keep *everything* so tidy.
Consequently, making everything a component defeats the purpose. It creates a fog of excess code and makes it hard to identify what really matters.
My conclusion about best practices (for full stack developers) with SDC is that you shouldn't use them when there's no reason to use one. I really like the added options I have in structuring my sites with them, but the benefits are lost when taken to extremes.