Another point: After losing so many troops in a singular battle, the Romans changed their tactics. Instead of grouping their entire army as a massive 80,000-man strong Phalanx, they split up their armies into smaller groups, so that their eggs weren't all in one basket anymore.
Hannibal's trick to encircle and kill many roman troops in a single battle was never going to be repeated: the Romans learned of their mistake and made the necessary reforms to protect their troops.
-----------
The Battle of Cannae would go down in history as a military example of how to line up all your troops for potential slaughter. Future generals and tacticians would forever know of that battle and how to avoid those conditions.
Most generals and soldiers would seek a battle of annihilation: if destroying the entire enemy force is possible they will attempt it. The problem is, its very, very difficult to achieve in practice.
As such, simply routing the enemy, is sufficient for most military goals.