Ever wondering why your defenders stop running or marking, or even dodging the balls, or why your goalkeeper make an extravaganza side jump just to fly away from the coming ball?
Well, I have a theory. What ever you do, it doesn't matter. The fate of the ball is already decided the moment it left the opponent player's foot, there is nothing you can do to change it.
I'm not talking about scripting, just the way I suspect how the coding works underneath. My guess is instead of real-time calculating all the players input and make the animation to do what your instructions are, the algorithm only calculated once when the opponent hits the ball. The variables may include certain status of the opponent striker, your adjacent defenders and goalie's status, some environmental variables, and random number generator.
And it's already been decided whether this ball will be a goal or not, all the animations afterwards are just to accommodate this result.
That's why you see so many anti logic, anti physics moves your defender and goalie pulled out.
The essence of that theory is ironically, card matters, better players matters, your control doesn't.