First there is a big difference between encryption and hashing. When you encrypt something you can decrypt it to get the information back. When you hash it you store a mathematically computed number that can't be reverted back to the information. In other words, you can't retreive the password if you hash it, that's why it is preferred. Everything talked about in this thread this far is hashing, not encryption.
Hashing of passwords doesn't solve the problem with stupid users. For example users using their username as password, phone number, childs name, dictionary words or something simular. It can't secure the database either, it is simply impossible. If someone gets the password in the database (hashed or not) the database is already "hacked" and all the information in it is visible to the "hacker".
What hashing passwords do is exactly what I talked about in an earlier post. It saves your users passwords since they probably use them in other places as well.
Oh, another thing you should look at is "SQL injection" or "database injection". It is a way for users to get information from your database that you didn't want to give them, it could even be used to change or delete your database.