How do -dev apk packages differ on Alpine for the purposes of creating docker images?
dev packages are typically intended for development and build purposes. They usually contain header files and other resources for providing programmer APIs. For example, python-dev contains C headers for C/C++ applications that integrate python functionalities (which of course isn't necessarily python itself).

The "non-dev" packages provide the actual application or library: for example, python provides the python interpreter binary, the libpython3.so shared library, and compiled python modules.

For inspecting the contents of specific packages, you could use Alpine's excellent package explorer: locate the package of interest (for example, python3-dev), and click the "Contents of package " link at the bottom, to see the complete list of files installed by the package.