Depending on the environment, DVDs can last between 1 and 400 years. Sunlight, scratches, forces of nature (like little kids), etc, can all make a DVD last a very short time. So can an Xbox 360, but that's another matter. Hard drives... that depends on how well they're built and how they're treated. I've got a very old 2GB HDD that still works (it's big enough to kill someone if used as a club). I've also had a SeaGate HDD that only lasted around 8 months.
For storing pictures, I think DVDs are best. For storing videos, depending on the size, I still think DVDs are best. If you want everything in one place, use an external hard drive that you don't plan to move a lot (i.e. you're not putting it in a bag to plug into school computers, etc).
However the best backup/storage method is actually to use multimedia (as in multiple media). Store everything in a good hard drive (like the Samsung Spinpoint F3) and keep it somewhere safe (like in a metal box). Burn it all to DVD/BluRay and keep it all in a disc wallet, and also keep that somewhere safe. And finally, invest in an online storage solution like DropBox to upload your files to. That way even if your house burns down and some nuclear force oblitorates that metal box, you've still got a virtual copy to rely on.
EDIT: The post above mine says basically the same thing. Meh.