Rust has a myriad of ways to handle errors, and unwrap is the most blunt of those instruments as it explicitly converts handleable errors into panics.
Alternatives such as try!, unwrap_or(), and many others, should be your preferred options. I try to only use unwrap() in throwaway code and usually only in main functions.
The one thing rust doesn't let you do (at least without warnings), is to have unhandled errors.
Being forced to explicitly handle error conditions is a huge net win for any production code.