Why do we need this?
Some manufacturers build rooted Android images (AOSP) on customer request, which have additional options in their settings. Among other things, often there is an opportunity to disable the navigation bar totally in these, Unfortunately every manufacturer provides his API for that.
So, instead of supporting dozens of different manufacturers' APIs for hide/show, it is better to create a custom Back-Button which can be activated in the case it should be needed. For example, when starting a second app, a browser, do some maintenance etc…
It is recommended to use regularly supported features like the so-called “immersive mode”, but there are customers which do not want a visible navigation bar in their kiosk systems under any circumstances. Due to these reasons, there is a back button overlay possible.