How ifixit saved me from switching to the dark side (aka Android world)!
My iPhone 3GS kept shutting down on me to the point where it wouldn't even function as a time-keeping device. Over 90% of the crashes/shut-downs, the battery level was showing over 95% too! I was on the verge of switching to an Android until a quick Google search (how ironic) brought me to ifixit's site where numerous other fed-up iPhone users had the same problem. Turned out all my phone needed was a new battery! At least it keeps me from joining the dark side for the meantime...
As for the Volume Button, it was for my wife's phone, also an iPhone 3GS. It just simply broke off one day.
Repair was fairly easy, considering I've tinkered with small electronics and gadgets for most of my life. It was a little time consuming though, especially for the Volume Button on my wife's iPhone (approx. 2 hours). It's nice how Apple numbers all of their connectors - it's as simple as following the numbers sequentially!
Just follow the step-by-step instructions. Everything is well labelled and documented in both the videos as well as the PDFs. Careful with prying out the battery though; they tend to bend VERY easily.