__init__.py
, among other things, labels a directory as a python directory and lets you set variables on a package wide level.
__main__.py
, among other things, is run if you try to run a compressed group of python files. __main__.py
allows you to execute packages.
Both of these answers were obtained from the answers you linked. Is there something else you didn't understand about these things?