Long queries with joins and filters get copied around and slowly drift apart. A view saves a query under a name so you can select from it like a table. Use views to hide complexity or to give users only certain columns. A normal view stores no data and reruns its query each time, so it is not a speed-up by itself; a materialized view stores the result but can go stale.