Connections store the access parameters for an external system (host, credentials, schema); variables store configuration values. Both can be managed by a secrets backend rather than in the metadata database, which avoids writing passwords in DAG code.
Example
hook = PostgresHook(postgres_conn_id='entrepot')