Can type inference be classified in two groups: unification-based and control-flow-based?
Perhaps an even better way to see type inference is as a specialization of a single framework: Abstract Interpretation (abbreviated AI).  The hallmark of most unification-based type inference algorithms is that they generate the principal type for a term; translated into AI terms, this means that you never need to widen, nor do you need to go to power domains to find the answer.  Unification turns out to be the 'join' operation -- there is also a nice categorical interpretation of unification which is even more enlightening.

Several comments shed light on this as well: all algorithms can be better understood in terms of generating then solving systems of constraints.  Unification is indeed eager, and constraint-solving (and that includes control-flow based approaches) tend to be lazier.

Perhaps an even better way to see type inference is as an alternate interpreter for a program: rather than producing values, it produces types.  It is very easy to see type inference as a form a partial evaluation.  Perhaps an easy introduction to that circle of ideas is via Aaron Stump's A rewriting view of simple typing.