The issue is complicated, but in essence blizzard made a list of all the ways terran can lose the game before the 4 base mark and outright deleted them from the game.
For example, Terrans used to have to make a deliberate choice between AA and AG production from their factories. That was an exploitable weakness. If the terran made the wrong units, he’d die. Now it literally doesn’t matter what units he spams - at the pro level we’ve seen every imaginable comp vs zerg. Cyclone hellion vs everything zerg, tank thor vs everything zerg, liberator tank viking vs everything zerg, the list goes on, biomine vs everything zerg, biotank vs everything zerg. It just doesn’t matter what units he pumps. In HotS it mattered. You make tanks and he goes mutas you die. Make thors and he goes roaches and you die. Etc.
The viking buff meant Terrans can produce AA from their starports thus not blocking their factory production and allowing AG to keep on pumping out again eliminating the choice between AA and AG. The liberator did this even more. It has a decent AA while being ludicrously strong AG. The thor is the reverse - decent AG with ludicrous AA. No matter what units he pumps, his unit comp is guaranteed to keep him alive. There is never a situation where, for example, 3 banshees show up and Zerg has no anti air and just has to type GG. No matter what happens, no matter what units he makes, the terran is fine. Terran used to die when he made the wrong units, but that was in HotS.
The siege tank is another obvious example. The buffs it received meant that fewer tanks were needed to be safe. This means a quicker switch to AA production, less punishment when making the wrong units. If you made thors when you needed tanks, it’s quicker to fix that mistake. When you make the mistake, it is less severe. Under producing AG is much less punishing - having 1 tank in HotS vs a roach allin was game ending but in LotV it would merely be an inconvenience (lift the base, go to the high ground while you wait for a round of tanks). Not to mention when he gets the counter right, it is a much harder counter than before. It went from being difficult to attack a properly prepared terran to outright suicide.
Switching from the widow mine to the tank for defense was a colossal buff. With mines you could poke and prod and back off if you saw a mine or run around the mines or bait the mine shot out before proceeding. This allowed zerg harassment. Now if you go anywhere near a terran base, your units instantly die to a unit you can’t even see, a unit that can hit you from a perfectly invulnerable position that if you wanted to return fire you’d lose your entire army in seconds.
This means harassment is off the table - you can’t get units in and if you did, they’d have no way to retreat meaning they have to do a huge amount of damage to justify their cost. For the same reasons, multi-pronged attacks are off the table, too. 2 tanks and a planetary can defend a ludicrous amount of zerg to the point that if you wanted to segment your army and do a 2 pronged attack, you’d lose both fights.
Denying bases also doesn’t work anymore. If you attack into a terran, you lose far more resources than he does so even if you kill the base he comes out way ahead because he just floats out another one. Attacks are now 100% about efficiency and attacking a terran is NEVER efficient.
You used to be able to exploit their production and reinforcement lines, also impossible now thanks to the tank. You can’t pick off stragglers because there are no stragglers with how huge of zones the tanks control. You also can’t try to get on top of his production, either with harassment or a big push, because tanks deny the harassment before it even gets past the depots and big pushes get worn down by receding tank lines.
This list goes on and on. Literally the only way to beat a terran player is now through attrition and that takes a very long time to do. The way to win is to actively avoid trying to win.