As I build more complicated Arduino projects, I'm finding I have several audio outputs in one project. Instead of offering a amplifier and speaker for each source in the same project, I decided a needed a mixer, with one amplifier and speaker. The following talks about the various types of mixers (passive and active), the pro's and con's of each, and how to work through things like impedance matching, distortion and clipping.
For an amplifier, it's hard to beat a good set of amplified computer speakers for this application. The Logitech S120 2.0 Multimedia Speakers are very inexpensive (<$11), and give great quality sound.
BTW, today is my birthday, so please check out my Arduino Store, and you can celebrate with me!