Why was the roman army so good?
One word -organisation. The Roman army was in many ways the first modern army. There were specialist medical troops, engineers, messengers, scouts, etc. Troops were deducted wages to pay for uniform, equipment, food, accomodation, pension and a burial fund. A soldier would know that he could rely on his Legion for his needs, if he was wounded in action, he knew specialist combat medics would be able to remove him from the battlefield to a field hospital. Or, when he retired, he knew that he would be given a piece of land and a pension. A modern soldier would probably recognise the life of a legionaire.