The problems with views that I find is if they are broadly defined, using mulitple table joins. Usually views are of most use when the pull a specific type of data from a joined tables. For instance, maybe everything for sales region X.
I just ran into a major performance problem and the culprit was a view used within a select statement. WHen the view was created, the amoutnt of data was small, and when used within a select statement, the worktable created by the view in the select statement was small. But as the underlying tables sizes increased, the construction of the view information into a work table used 90% of the execution time. We actually had to break the view apart and have sql go directly against the tables.
I hope I am making sense, since I tend to ramble...
Views do serve a great purpose, but some care sometimes needs to occur.