Ah thank you! I have one book called "50 Battles that Changed World History" or something, and the author's thesis about Cannae is that actually it was the most important battle of the ancient world. He says that even though Hannibal won, it was the Romans who benefited.
The author argues that because the Romans took such devastating losses but then just raised another army in months, they convinced the other Italian cities that Rome wouldn't give up on them, and thus prevented too many cities going over to Hannibal, with exceptions like Capua. I don't know if I agree with the author or not, though, but certainly the victory didn't make too many cities join Hannibal, which was his plan.