A thousand pardons good sir, I don't have an arduino in front of me and I was typing that up 10 minutes before I had to leave so I failed to fact check. The last thing I worked on used an I2C GPIO expander that did not have any built-in pullup or pulldown resistors so I had to handle it myself to avoid floating inputs. When rolling my own I prefer to pulldown inputs to ground then switch high, because to me 'high' = 'on', but yes, if you've got pullups built into the device then definitely use them then switch ground to the pins to keep it simple.
I don't think I anywhere implied that anything would damage the device? In the absence of built in pullups, which I forgot about, then the pulldowns are just to ensure that there is a ground at the pin when you're not pressing the switch at that input. Otherwise you'd get a floating input, which could give you some false readings. It's not damaging at all, it's just not clean and can lead to undesired behavior. You don't need both pullups and pulldowns simultaneously, I agree. But you need one or the other.
To begin with. Wave shield from ADA is very very nice and it saves a lot of soldering so for anyone who doesn't know or care to solder, go get it.
The wave shield is available only as a kit, so it doesn't save you all that much soldering really. It's an easy to assemble kit though, and they walk you through it very well on the web page.
https://www.adafruit.com/products/94It sounds like the arduino environment didn't support enabling the internal pullups directly until recently? The very most recent release actually. True you don't have to program AVRs using the arduino interface, but for a beginner it makes it very easy to get started.
As of Arduino 1.0.1, it is possible to enable the internal pullup resistors with the mode INPUT_PULLUP. Additionally, the INPUT mode explicitly disables the internal pullups.
The code you linked to about playing sounds directly from the AVR is cool, however it looks like you have to actually store the audio as program memory in the code itself. That's fine if you don't mind re-encoding the audio and recompiling then reprogramming your controller every time you want to change the sound clip. You're also limited to the memory space within the controller (you could of course interface with external memory, but that's outside the scope of the example). The wave shield reads files off an SD card, no need to recompile or reprogram anything if you just want to swap some sounds out. You're not limited to program memory space, it's got a volume thumbwheel, headphone jack etc. It also uses a real DAC instead of trying to approximate things using the PWM outputs.
As always, there's more than one way to skin a cat, use whatever meets your needs.

There's "cheaper" and there's "beginner friendly". If someone without much electronics experience is trying to throw together a costume for their kid two weeks before Halloween I'd spend a few more bucks and go for the easier implementation.
Mostly because I don't feel like shelling out $100 or more for a bunch of shields when I can tear apart what's in my scrap bin and pay only $15 or so for an AVR board (I purchased one that's Arduino compatible similar to a Teensie).
Yes I agree with you... not everyone has the time to do that though, nor the expertise to know where to begin. The arduino is a gateway drug for hobby electronics, it's not suited for everything, but it's a good way for people to get their foot in the door. There's a large established community, example code all over the place for just about anything. It's a good place to start... I also have some Teensy boards... the guy just released an ARM version, Teensy 3.0. He just finished up a kickstarter for it, I got some for about $19. Regular price will be a bit higher than that I believe.
One more note... the wave shield is apparently not pin compatible with the arduino leonardo version... so if you get one, either use it with an older arduino model or be prepared to clip a couple of pins and do some rewiring.