The gap is real, and it is the reason dbt Cloud costs money
dbt Core does not include a scheduler. Every team running it in production has picked something to invoke it, and the choice is usually made under time pressure rather than on merit.
- cron runs dbt and tells you nothing: no retry, no history, no notification when last night's build failed.
- Airflow, Dagster, and Prefect all solve it, and all bring a metadata database, a scheduler process, and an upgrade path to own.
- dbt Cloud solves it by charging for the part that Core left out.