Formation, tactics and orders, team and individual player morale, what happens in-game, whether the manager(s) are present at the match, what they do when they see their team is in trouble/aren't getting anywhere, just dumb luck - just a few of the myriad factors that make each match what it is.
I found out that having a lot of players in their last year of contract and hanging on to renew them until late on in the season affected team performance, i.e. I renewed them all and a previously under-performing team went unbeaten until the end of the season...