And even then, patching is dangerous. I don't code, but I understand how it works in basic theory.
I think of it in terms of very basic rpg calculations. At it's most basic level, when you press the square button and release it for the jumper, the game is told something like
!Roll 1d100
If 1-44: "miss"
If 45-99: "make"
If 100+: "guaranteed make"
The game generates a number, whatever result happens. It's like a table top RPG.
In 2k, let's say there is a sharpshooter. He's maxed and has all his badges. He shoots with a close out off a good pass.
It probably reads something like:
!Roll 1d100
If 1-30: "Miss"
If 30-90: "Make"
If 91-100+: "Guaranteed Make"
Let's say the close out has a rating of 5 points. Defensive stopper is 5.
Badges are:
HOF catch and shoot 10 pts
Deep Range Dead Eye 10 pts
Dimer from passer 5pts.
The end result in its basic form is
Result=Roll+(10+10+5)+(-5 + -5).
The game rolls a 27. So
R=27+(10+10+5)+(-5 + -5)
R=27+25-10
R=42
R=Make
That's the most basic way of looking at how a game handles interactions. Now think about this: Each system and Mechanic handles a calculation like this for everything. That means a high level interaction, such as a playmaker vs. A Lockdown has a ton of these things happening calculating everything from how much the defense effects the playmaker's repertoire, to what animations will play out due to attributes, to the actual end result.
It's a machine, each system handles sub calculations and function like gears. The overall game puts these calculations together, runs another calculation based on that, and hands you a result.
So where am I going with this? Think of patches as replacing individual gears that break. You change it one way: Oh no, that gear was slightly to small so the machine starts wobbling. Another gear is being too stressed, so you change that. Now the wobbling stabilizes, but it's slightly larger, so it's putting to much pressure on a different gear.
Each patch changes the coding that dictates what happens. Sometimes it fixes the problem, but the fix changes one line used for a specific thing elsewhere, so suddenly they up something like pass detection and it randomly influences something like alley catching. Now the defenders see the oop but don't react to it. That's why it can be hard, a lot of guess work, and sometimes flat out impossible to patch something.
Case in point: During the shooting patches mid year, people were clamoring for a fix (Relentless finisher, maybe?), and I remember Mike specifically saying it was taking so long to fix because changing it outright would've possibly erased everyone's mycareer.
So, sometimes patching isn't the answer either