Reach for a data warehouse when you need to analyze data across multiple sources, run heavy aggregations, or power dashboards and business intelligence tools like Tableau, Looker, or Metabase. It is the right home for reporting, financial analysis, product analytics, and anything that asks "what happened" over a long time window.
Do not use it as your application's primary database. Warehouses are slow for single-row lookups and point updates, and many do not enforce row-level constraints the way an OLTP database does. If a user clicks a button and needs an instant response, that query belongs in Postgres or DynamoDB, not the warehouse.
The main trade-off is freshness versus cost and scale. Data lands in the warehouse on a schedule, so it is usually minutes to hours behind reality, not real time. You also pay for compute per query or per cluster-hour, so a careless analyst running full table scans all day can run up a large bill. A data lake stores raw unstructured files cheaply but offers weaker query performance and governance, while a warehouse trades some storage flexibility for fast, structured SQL.