First, I'm not a lawyer, but I've always seen the MIT license as being more "free", whereas the GPL is more "fair". Both licenses are pretty much the same for users of the code. Where they differ is that the MIT license gives you the freedom to make an awesome change to the free code you were given, and add it to your closed source application with no obligation to give those enhancements you made to the code to anyo…
One tidbit on the GPLs: They require you to share alike if you share the software with others, but do not require you to share the software with others. You can make changes and larger programs entirely for your own or your company's internal use, and not share anything.
The GPLs mention this explicitly, and implement it using concepts like "distribute" and "convey". Your obligation to share alike doesn't kick in unless you distribute or convey.
That got GPL into trouble later on, when it turned out folks often ran software for others to use over networks, rather than sharing with users in copies for them to install locally. That led eventually to AGPL, a kind of fork of GPL, but outside FSF, also to licenses that simply require sharing back whether you distribute your work or not.