I usually explained ECS to people unfamiliar with the concept more like a relational database. It's not a perfect 1:1, but I feel like it resonates well if you think of components as highly normalized tables, and entities being a table of optional foreign keys to all the other tables. Then systems are queries that pick and update the entity rows joined specifically with the component tables you care about.
When you get deeper into ECS it usually ends up being quite similar, with some components in a system being optional (OUTER JOIN) and the various ways components can be stored for efficient retrieval / updates (indexing in databases).