It didn't matter to me which one I picked, since my friend traded the other two to me as well-bred (especially move-wise) Lv. 1's when I first started. I picked Chimchar though. In the end, I kept Torterra on my roster rather than either of the other two because I wanted Palkia as my water type rather than Empoleon, and I did a better job of SpAtk EV raising the imported Charmeleon (now Charizard) for the fire type slot. Torterra is a really good choice to use against Bertha in the elite 4 because generally grass is super effective at least 2x against her Pokemon, and sometimes 4x, all while Torterra isn't being damaged by Sandstorm. The downside is that water becomes neutral, but the upside is that so does fire. It can also learn moves like Earthquake etc. (obviously) once it gets the second type. Chimchar is too much like Blaziken at the end of the line, and Fire/Fighting seems like a risky or uncomplimentary set of types to have fit in on many types of teams. I'd rather have a Lucario any day.
However Empoleon certainly learns a wide range of moves. When I got Piplup as a Lv. 1, it knew Surf/Water Gun (I can't remember lol), Hydro Pump, Ice Beam, and Blizzard. As it grows in levels, you can teach it moves like Defog and then steel type moves. The addition of Steel is useful in that it stops several of the more annoying physical (especially Normal) attacks from being anywhere near as effective.
Type-wise, Infernape ends up with 6 resistances and 4 weaknesses, Empoleon with 11 resistances, 1 immunity and 3 weaknesses, and Torterra has 3 resistances, 1 immunity, and 4 weaknesses.
Infernape is best for Atk, SpAtk, and Speed. Empoleon is best for both Specials. Torterra is best for Atk and Defense, and will generally have a good HP stat as well.
Infernape to me is rather annoying with how it learns moves. If you stay as a Chimchar, you'll eventually be able to teach it Flamethrower by leveling it up (41), but you'll end up skipping moves like Mach Punch. However, by evolving it, you gain a second type, but you'll miss out on learning moves like Nasty Plot. I taught my Infernape Flamethrower by TM because Flame Wheel really doesn't cut it in the elite 4 battles.
It's really all preference though. I usually pick the fire starters (no pun intended) so I picked Chimchar, and while he was on my team, he didn't usually let me down. They all, if raised well, become solid team members. It's just that in my case, Torterra remained on the team rather than Infernape because to me, Charizard > Infernape.