What makes an MILP problem solvable?
You may be interested in reading about total unimodularity. An ILP is solvable in polynomial time if the associated matrix is totally unimodular (sufficient but not necessary condition). This explains the tractability of assignment and maximum flow problems.

I'm not aware of any "reason" why knapsack is pseudopolynomial time solvable.