Basically you need to look at two things:
- What you are hanging (how heavy, will it sway, is it a vertical load or does it have a horizontal component)
- What are you hanging it on (wallboard, plaster, old crappy plaster, stud wall, concrete wall, brick, stone, solid wood...)
Then you pick the right fastener at the intersection of these two.
Assuming you have a newer house, and are mostly hanging pictures, the old "nail into wallboard" will work okay. Just tilt it downward so the picture wire slides toward the wall, not toward the nailhead.
You can also use things like the 3M "command" strips, which work great if you follow the instructions and don't exceed the load. Don't be stingy with them.
Hanging heavier things like mirrors or glass picture frames, use the appropriate wall anchor for the wall, and/or nail or screw into the studs. With the right wall anchors, or rails or other structure attached to the studs, you can put an enormous load on the wall (tons) without problems.
If you have an old house like mine, don't even bother trying wall anchors into ancient crumbly plaster...find the studs. Hard-won lesson. ;)
Using a stud finder can be a bit of an art, so practice on a wall you don't care about. (Mark the edges of the stud, then drive a very fine nail into the wall board and see if you were right. Then, pull the nail and spackle the hole.) Also note that they read differently depending on what kind of wall it is.