This question is about database views, not materialized-views.
Pros:
Cons:
What else?
Pros: Allows you to change the underlying data structures without affecting the queries applications are using (as long as your view can hide the data structures)