Is there any advantage of using an Integer Linear Program over Backtracking in a combinatorial optimization problem?
Integer linear programming can potentially be more efficient.  ILP solvers normally combine backtracking with many other methods, so for many problems ILP might be faster than backtracking alone.  There are no hard-and-fast rules about which will do better on every problem, though.  It's not just implementation in C++.