General Usage:

download bmml source – Wireframes created with Balsamiq Mockups
Without any context, spelling out the month (Jan, or January) in a dropdown probably cause less confusion as compared to "01" in a dropdown or a freeform digit input box.
I'm speaking as a user from North America, we rarely enter months and year without the day (unless you're referring to credit card expiry dates). We say it out loud as "January 2015", not "1 2015". So using the word removes the mental translation. There's also only 12 months in the list. So it's a reasonable number of choices even if the user does manually click on the month instead of typing in the dropdown to access the right month.
As to the Year, the choices are rather numerous so a text input makes more sense. Since there's only 1 way (in numbers) to write in the year, there's no mental translation needed.
Credit Card Usage:

download bmml source
The other common exception case I want to bring up is for Credit Cards. Because the numbers are printed at the back of the card in "MM / YY" format. It makes more sense to provide text inputs for user in that exact same format so they can type it all in exactly as its printed on the card.