It is not just a UI just for CRUD. You can easily add custom actions (calls to web services, export/imports, heavy background tasks that operate on a row or collections of rows), filters, related tables with custom behavior, display custom derived/calculated values, etc. Additionally, you can skin it easily - and in some cases, even create dashboards in a very simple manner. Check out out Django Unfold for an example https://github.com/unfoldadmin/django-unfold
Of course it’s possible to customize and extend, just as with other frameworks it is possible. We aren’t talking about closed systems here.
Even writing a fully custom “admin” interface for one part of a business process isn’t usually much work if the system itself (which Django would also depend on) is reasonably designed.
Writing something from scratch isn’t that difficult, and you get exactly what you need without fighting against the framework.