dist-packages is a Debian-specific convention
that is also present in its derivatives, like Ubuntu.
Modules are installed to dist-packages when they come from the Debian package manager:
/usr/lib/python3/dist-packages
dist-packages instead of site-packages.
Third party Python software installed from Debian packages goes into dist-packages, not site-packages.
This is to reduce conflict
between the system Python,
and any from-source Python build you might install manually.
/usr/lib/python3/dist-packages
contains non-host-specific modules installed by the system with the package manager,
for example on Ubuntu with sudo apt-get install python-numpy.
/usr/local/lib/python3.8/dist-packages
contains modules that you installed yourself system-wide through a package manager,
for example with sudo pip install numpy.
/home/wk/.local/lib/python3.8/site-packages
contains modules that the user wk has installed in his own user directory, for example by using pip in user-mode.
Those modules can of cause only be imported by wk,
because they don't appear in other user's PATH variables
and might not even be readable by another user.