Much of it also seems to be that buffs aren't as strong and HP damage works as an encounter ender. There's not as many encounter ending spells that a wizard can cast to immediately walk all over a particular mob. No one has 30AC, but everyone has little buffs/debuffs and ways of doing damage.
While doing damage, you'll be using resources, and taking damage as well. This slowly wears parties down, even with healing being more prevalent. When you finally get to your end-of-day "harder" encounters, the enemies can actually seem quite scary with only a couple of good abilities. They're fresh, but your party might not be.
Good pacing of encounters in a given day, and ways of winning them without HP damage even being necessary, is the mark of a good DM in 5th.
I'll agree that the MM could use some work. I won't say they phoned it in, but it wasn't as varied as I would like. To spice things up, I tend to look at what would be available to someone picking the magical initiate feat, and tack on abilities from there. You can describe them as magical, or simply as an ability that these creatures have, or that their equipment provides. Key it to whatever stat you want. Not necessarily the exact cantrips/lvl1 spells, but that ball-park of power. Scale the spell to an appropriate level level if needed, but I wouldn't go higher than an actual level 2 spell's effect.
Thornwhip makes for wonderful lassos. Bless is a chieftain's warcry. Mooks get healing potions (cure light wounds) or can be considered as *their* healing surge. Flaming arrows are produce flame or create bonfire, low range, but can be scary with plenty of them razing the area. Some big beasts have 16AC with barkskin (that can be broken when you attack them enough). Some things are particularly good at a certain stat (enhance ability), but can likewise be flustered after a bit of damage. They can start the encounter with these bonuses, or use them during it, depending on what seems better. Cantrips and lvl1/2 spells let you redesign encounters quickly and easily to add a bit of flavour, and give the party combat objectives.
Pretty much any lvl1/3 class ability can be thrown on any creature to make them feel more unique too. Describe it how you want. Packs of things can have SA if they're good at damage, or swipe Pack Tactics from the wolves for them, so that the party has to try and split them up. Give a boss AS for a vital moment, some BM dice, or Rage. Bonus action dash? Yeah, why not....
You can also give any creature a PC race's advantages, including stat boosts if necessary, if you want to make a slightly altered creature. This doesn't necessarily make them a Half Orc or Halfling or anything. It's just an easy/lazy template to slap on top of anything, providing easier characterization of a particular creature. Think of it as a tankier or more cunning or quicker variation of the basic creature, with a few little bonuses to different areas. Quick, easy, doesn't have to make sense. All attacks are "weapon attacks" for skills that refer to it, extra Con gives a reasonable amount of extra HP, Str/Dex might give +to-hit/damage or AC, other stats boost innate skills. Giant wolves from the plains/forests are quick and stealthy (Wood Elf), ones from the mountains can be tanky (Dwarf), ones from the jungle can be lucky and fearless (Halfling), ones from the underdark hit harder on crits and don't die immediately (HO), and trained/variant wolves can do anything (V.Human) You can even subtly alter your visual description of a creature to match the racial template applied (Halfling is smaller, WE is lithe, Dwarf is stocky, HO is brutish, V.Human is canny). Some have analogies for bonuses (Dwarf=+1AC, WE=+5 foot movement), but it's pretty easy to work out. Probably don't use the base movement speed, or any other particular bits of a racial template that seems too odd, unless you really want too. Is there any reason that some Giant Wolves don't breathe fire (Dragonborn template) or fly (Aarakocra template) in your world? Not really.... Other seemingly odd variations of wolves breathe frost or have wings, so why not yours, for a given CR? Easy/lazy templates to add to anything, providing bonuses (or stat alternatives) for slightly more novel variations of well known things. Think of them as being palette swapped enemies in a computer game. Mook mkII, for higher level areas.
Most of these are ribbons and don't change the CR of an encounter at all. +1/2CR to +1CR at most. Even the ones that you think should alter CR, often don't. A good party overcomes the extra abilities of your foes easily, but it was more interesting for them to do so, with very little extra work from you.
It's a lazy fallback, but a good one. Sometimes it makes the encounters harder, sometimes it's just for some nice extra flavour. Everything gives you a good reference of its power level, but the MM is just a shell to slap adornments on, for fun/interesting encounters and creatures. Party too powerful? Combat getting stale? Still want to use a creature type for your campaign but the MM says it's crap? Problem solved.
You never have to give "actual" class levels to anything, who wants to keep track of all that? Just relevant abilities and templates. Cherry pick whatever you want, cantrips, lvl1-2 spells, lvl1-3 class abilities, racial templates, even feats. Maybe not all at once, just whatever seems fun. Infinite variety. Way quicker, way easier, does the same thing as "fully/properly designed" encounters. Makes the MM actually seem like a good reference material for interesting encounters, rather than just vanilla stat blocks with basic descriptions.