Well, while Datasets do allow some pretty nice querying functionality similar to SQL, they lack the relational structure needed to map more complex datasets. For example, this blog post about math overflow shows an example for how to represent a very large dataset, with about 3 million entities, in a Wolfram Entity Store. That example is really impressive, with entity types for Votes, Users, Posts, Tags, Comments and more. All these entities contain each other in terms of properties, so you can very quickly query a post's user and its comments, or the users of all the comments for a post, and so on. The possibilities that can be done with such a dataset are quite amazing, reaching from simple descriptive statistics to modelling to graph-based analyses such as User-User interaction networks.
I guess part of my question also relates to the Wolfram Data Repository, which hosts curated datasets, contributed by users. It allows for both tabular datasets and EntityStores. Here is what Stephen Wolfram wrote in his blog about the Wolfram Data Repository:
Many of the data resources currently in the Wolfram Data Repository are quite tabular in nature. But unlike traditional spreadsheets or tables in databases, theyre not restricted to having just one level of rows and columnsbecause theyre represented using symbolic Wolfram Language Dataset constructs, which can handle arbitrarily ragged structures, of any depth. [...] But what about data that normally lives in relational or graph databases? Well, theres a construct called EntityStore that was recently added to the Wolfram Language. Weve actually been using something like it for years inside Wolfram|Alpha. But what EntityStore now does is to let you set up arbitrary networks of entities, properties and values, right in the Wolfram Language. It typically takes more curation than setting up something like a Datasetbut the result is a very convenient representation of knowledge, on which all the same functions can be used as with built-in Wolfram Language knowledge.
So when curating a dataset for releasing on the Wolfram Data Repository, one needs to decide on the basic structure: whether one opts for a tabular dataset (perhaps with nested subtables, which is possible with Datasets unlike for example with R Dataframes), or for an EntityStore, which allows for arbitrarily complex relationships between different types of data, or perhaps for a hybrid approach, with a tabular data table including entities for which you provide an EntityStore. The latter option of a hybrid approach is something that I'm not sure whether it's possible or best practice for the Wolfram Data Repository.
Finally, with WL version 12 things seem to become even more complicated. Consider this blog post where SPARQL queries and graph databases are introduced, which seem to be somewhat similar to Entity Stores, but using a separate GraphStore` package. I don't know its relationship to the Entity Framework, but it looks a bit similar.