There are two methods to retrieve fault codes, OBD2, which is standardised so the method and results should be the same regardless of the tool. That's the point of OBD2. The tool will send a functional address request, service 0x03, send me the current emission relevant fault codes. Functional here means a request to all modules. Only the OBD2 compliment modes only will respond with the codes though. The description is added by the tool.
But I guess we're not talking about OBD2 here, as it's not great and not the default of these tools.
The likes of Xentry/icarsoft etc, if using the default manufacturer specific mode, will use the diag services specified by ISO14229 ( or variant of). This again is a standard, so the method to request fault codes is the same whether it's an MB, Nissan, Ford etc. The tool will send a physical address.request to a particular module to read fault codes, using service 19. The module will respond with the fault codes (if present). This is still all in the scope of the ISO standard, so there is no reason for one tool tool to be any different to another. I lie, there is..slightly. Whwn you request to read codes, you can say whether you want confirmed, pending, historic, tested...So there is a chance the results could differ, but it would be obvious one was not reporting say stored faults.
What does differentiate one tool from another is the ability to determine a description for those codes that it just read from.module. These are not standardised and are proprietary for each manufacturer.
Simar story for reading DIDs (live data), resetting adaptive data, actuator test. Method is standard but the detail of how to interpret isn't.
So hopefully if you know a bit about hose they work, you can understand the differences.