A screw directly in plaster or drywall is not very strong. Over time it will work its way out and leave a hole in the wall.
It's OK to use a nail to hang a framed painting or photograph. If you do this, first put a piece of scotch tape on the wall, to resist cracking. Make sure the nail is angled 45 deg from vertical. You can pull the nail out when you're done and it will only leave a small hole that is easy to patch. (Many people don't patch, but you'll still see the hole when you repaint.) There's a limit to how much weight I'd want to put on nails in drywall, though - if it tears out, it's a mess.
There are a variety of drywall anchors that you can use for larger loads (see http://www.naturalhandyman.com/iip/inffastener/infanchor/infanchor.html for a good list). Most require you to drill a hole first. Be careful when you do this, because if there is wiring or plumbing behind the wall you could make a lot of trouble. Threaded anchors don't require drilling and are very easy to use.
For the most strength, screw in to a stud. I do this with towel bars especially, because I know people like to use them as hand-holds. Also, people yank towels from their holders, which puts a lot of strain on the wall.