The three biggest factors to remember in battle are Firepower, Mobility, and (for lack of a better name)Surprise. By considering one's own abilities in these areas, in comparison to what is known of the enemy, any general should be able to win a battle.
Firepower is not simply a matter of "how much" but of "what kind". Sometimes it is more important to be silent than it is to be forceful. Other times you must consider what kinds of defenses you are up against. If you have bows and arrows, they will obviously not do much against a tall stone wall. Therefore, you must use what you have in another, less obvious way.
Mobility can win or lose a battle. If troops are needed in a place, but cannot get there quickly enough, you have lost. Likewise, sometimes a general needs to keep running his troops ahead of the enemy - if they are not fast enough, this plan will fail, and the soldiers may be lost. One must consider carefully the terrain troops must traverse. Is it quicker to go through the forest, or around it?
Surprise is a very lose term, but the most important. Perhaps "ingenuity" would be more accurate a description. If an army does what the enemy expects it to do, the enemy has the advantage. Sometimes there is not much room for ingenuity; if an army needs to retreat and rest, there isn't much to do but lead them to a safe place. Surprise can be forced on an opponent by being in a place you would not normally be, or using a kind of weapon the enemy does not expect. If the enemy has gathered his cannons to siege your walls, and you appear behind him with cavalry, you have the advantage. Alway do what your enemy will not expect - you can be sure he will do the same to you. More later.