Enough of the sly "get gud".
I am watching someone play it and have the exact issues I am describing.
They wanted a pet; the pet is a mixture of precious and not that useful; so they keep the pet safe. Thus they are a subclassless Ranger.
They are a Ranger, so their base kit is thin. Their "favored" abilities require alignment between the character and plot, and the DM doesn't have the bandwidth (or inclination) to do that reliably, so rarely apply. We are T2/3, so travel is usually a mix of teleporting and flight; T1 exploration abilities are nearly obsolete.
Real life experience.
Don't lie and say "always".
Not always, I was clearly mistaken. I don't mean to discredit your experiences either.
That said, that doesn't mean it'd a bad class. Every class's effectiveness depends on the DM, setting, campaign, and players. Only one of those are something you can control.
If you find a class unfit for your table's playstyle, that's fine. But I
am sick of people putting barriers to playing a class by calling then incompetent or busted or unfun to people that otherwise would've given it a shot.
I've had it happen just this recent campaign I'm DM'ing, someone saying that BM Ranger is useless and nobody should build one. And nothing gets me more upset than someone telling someone else that they can't play what they want to play after I've already given the go-ahead.
It's why, if you've noticed, I work hard finding off-the-cuff scenarios where an unpopular feature can be useful. Because people might get the wrong idea going through these threads with a unanimous "this sucks and needs a homebrew."
So yeah, if it seems like I put alot of effort defending these stuff, I do. I balance encounters like the book says because I want martials to shine with their unlimited stuff. I run hexcrawls because they allow the Ranger to shine where fast travel skips the important parts. I prepare my NPC's so the bard actually reads something useful when they read minds.
As a DM, I feel it's my job to create an impartial playing ground without catering or pandering. You choose a class, you're getting it as written and you're going to run my pre-built adventure as one of the protagonist just like the warlock and bard and druid.
I'm running the game as-written, no adjustments or arrangements, and every subclass, background feature, racial trait, and ability score gets their equal attention through monsters from the MM (possibly re-skinned), Traps (using the DMG process), Dungeons (built with DMG tables), and the planes (from the DMG.) All options from Xanathar's and PHB is allowed. All my magic items are ripped from the DMG. Downtime and lifestyle expenses are used. Carrying capacity is used. Ammunition is used.
And I'm convinced that a game that does the same will find all classes, subclasses, and features well-balanced. It's fun, but it requires preparation and the willingness to understand all of the rules. But I do it because I want my players to have fun regardless of their playstyle.