Game results are fixed before you start. When batting as the ball comes in the game freezes for a millisecond as it thinks about what it wants to do. Then regardless of your timing etc you might hit the ball. When it cuts from the animation of the ball going away to the angle of the fielder everything changes; the ball trajectory, height, distance, fielder position. When bowling the opponent batter jumps across the crease to hit your ball during the swing, if you did this it would just miss