The Dynamics of Game Development

What’s the difference between a game publisher and a game developer? My guess is that a publisher funds and oversees the game while the development house employs the programmers and designers to build the desired result.

If that is the case, why would Nintendo, in the case of Minish Cap outsource the development to Flagship (Capcom) rather than develop it with one of their in-house teams? Not that the game was bad (it was excellent) but how do publishers/developers like Nintendo determine their final decision?