Caesar was the best General because he was great at everythign else. Caesar (unlike hannibal) was a master at siege. Alesia is a great example. Caesar was responsble for the Victory of the romans in Gaul, britannia (a stretch but i believe it), aremnia, egypt, north africa, and a small part of spain. He conquered more land than hannibal.
Caeasr also inspired his men. he fought on the field next to them, dug next to htem, and ate what they ate. He was also a more powerful person. He had an overwhelming personality, great at everything he ever did exept stay faithful to his wife.
While maneuvering on the battlefields he fought in the political arena as well.
Many of the troops Hannibal faced were also new recruits. I doubt Rome had 750,000 veterans. But stil it is a lot. Hannibal should have realized the 50000 agaisnt 750000 was not very promising.
I might agree that haniba was betterthan caesar if hannibla had won. Winning is what adds great the the term "great general".