The dataset used by Apportunix Document Creator is generated by the report object, in the same way as for other layout types (e.g., RDLC, Word, Excel). The separation of logic/data-gathering and layout/presentation is a good practice, after all, it is possible to create multiple layouts for the same report definition (N.B., also for different layout types (RDLC, Word, Excel, Document Creator) side by side). Document Creator respects this separation, i.e., the logic/data gathering remains in Business Central (through the report object) and Document Creator offers an intuitive layout designer (as an alternative to the existing, less intuitive layout designers).
You can extend the report dataset yourself from the Business Central client with the Document Creator Dataset Extensions feature.
You can also make extensions to the "request page" and code of the report by developing a
reportextension object, just like you can for any report, whether it uses an RDLC, Word, Excel or Document Creator layout.
In the main competing third-party add-ons the logic and data gathering and layout rendering are intertwined. For instance, all data of tables from Business Central is made available, for example, via a service connection, which entails the necessary performance-, security-, and permission-issues and -questions with regards to the data gathering process. In some of the competing third-party add-ons the data to retrieve is determined by the layout designer instead of Business Central.
Building reports with these third-party add-ons can even lead to a vendor-lock, because the data-gathering is (partially) performed in a different way, making it more difficult to recreate/convert the reports and layouts when you would like to switch to another layout solution, either from Microsoft or from a different third-party vendor.
In one of the main competing third-party add-ons, the vendor lock is also further strengthened because no option is made available to export the report/layout definitions to text files (e.g., an export to an XML-based definition is missing).