From: United States
I think the combat results are driven by multiple passes through a random number generator ... the equivalent of throwing the dice ten times, averaging the result and then loooking up the results on a Combat Results Table (CRT for all you old board gamers out there). Remember the old 3-1 combat odds that on the roll of a single die roll could yield anything from "Attacker Eliminated" to "Defender Eliminated"?
However, there is no such thing as a true random number generator, it depends on a "seed" and the 1st result becomes the seed for the next round, and on and on. The next seed is usually saved between turns, so if you stop the game and reload from, say, and AutoSave, the seed is the same every time you restart. The consequence is that if you keep doing the same things in the same sequence over and over, you get the same combat result.
Try doing another combat first (or maybe two or three) and see if your results on your Artillery/Infantry vs. Cavalry change. The combat prognosis is mostly genereating a static result, a result you might see on average if you ran the combat through a random number generator using a different "seed" every time. Since you are using the same seed every time you keep getting the same "random" result every time. In other words the CP tells you what should happen over a long period of time in the same situation. The random number generator adds the element of the unknown into the results, which ultimately makes it a far more interesting and re-playable game.
Having not actually disected the combat results subroutines I can't guarantee that this is what is happening, but I have run into the same situation in other games where I did know how the CRT worked.