You're definitely better off buying the bigger hard drive. And you can get the Xbox cheapo headphones for $20 or $25, but they need to be replaced every 3-6 months. You don't NEED the online service, but that's how you play against other people. You may want to really think about it before you get it for a 12-year-old. If you decide to get the online service, you can buy it right from the XBox or on your computer --you'll have to set up an Xbox account. You can buy cards at Target,
Best Buy, etc., that will give you 3-6-12 months of Gold service. If your son wants to play in person with other people (you, for instance) you'll also need a 2nd controller -- I think the game console only comes with one.
You also buy points to get add-ons for the games -- maps, additional characters,etc. Again, you can buy cards with points at stores (they would make great gift suggestions) or just buy the points through the Xbox.
Depending on the games your DS wants to play, you may also have to get the Kinect add-on -- makes it work like a Wii, where it senses your body movements. We don't have it (have had Xbox for several years), because my DS isn't interested in those games, but they do sound like fun -- dance, snowboarding, etc.
You can also use the Xbox as a DVD player and a way to watch Netflix!