3.5 mm jack

There is a [u]TMRpcm[/u] library for playing WAV files but the "regular" Arduino doesn't have a digital-to-analog converter so you have to use PWM which doesn't give you great sound quality.

I don't believe there is an MP3 decoder library. I don't know if there's enough processing power to decode the MP3 while playing it. And, there are legal issues since MP3 is patented and you're supposed to pay a royalty if you distribute an MP3 encoder or decoder. An MP3 shield has an MP3 decoder built into the chip (and presumably the manufacturer is paying the royalty).