You want a public ID that is stable. E.g., for getting citizen information from the dutch government BSN (burger service nummer) is a good ID, as it will not change. It’s also consistent across different services and apps. You’ll find the same for most order management systems or customer relationship management systems. I’d be very inconvenient for customers to provide a customer id or order id that’s different depending on the backend system involved.
Mendix internal IDs are generated without guaranteeing that the same object will always have the same ID across apps. Model changes or environment changes may affect the ID. To avoid this, it’s best to define an ID attribute that you can fully control and ensure it’s stable, ideally across systems and apps.