If you want something open-source, you probably want to try COIN's CBC code (they also have a couple other MILP solvers, like a branch-and-price framework, or SYMPHONY).
Gurobi and CPLEX will be considerably faster, and as of the 2011 or 2012 INFORMS meeting, Gurobi was faster than CPLEX (though the performance metrics are of course problem dependent). On the MILPs solved in my thesis, Gurobi was approximately 15-100 times faster than CBC, and CPLEX was almost as fast as Gurobi, but very slightly slower (like 12-80 times faster).
Although the worst-case performance is indeed exponential, the execution time will depend heavily on problem structure. It's unlikely that you'll be able to solve an MILP with millions of variables unless you exploit special structure (maybe if it's a stochastic program that can be decomposed into many much smaller problems), but it's entirely possible to solve nontrivial MILPs with thousands of variables in under a minute. (Of course, it's also possible for these problems to take an hour or more to solve.)
As Brian Borchers notes, CPLEX and Gurobi both have free licenses available for some researchers, one of these two software packages would really be the best to use as a general-purpose MILP solver.