site-packages is the target directory of manually built Python packages (where Python installs its modules).
When you build and install Python packages from source you will find the installed modules in a folder named site-packages by default.
The standard installation location can be found here (see also installation documentation):
Unix (pure):
# prefix/lib/pythonX.Y/site-packages
/usr/local/lib/pythonX.Y/site-packages
Unix (non-pure):
# exec-prefix/lib/pythonX.Y/site-packages
/usr/local/lib/pythonX.Y/site-packages
Windows:
# prefix\Lib\site-packages
C:\PythonXY\Lib\site-packages
When you run Python, the module search path sys.path
usually includes a directory whose path ends in "site-packages". This directory is intended to hold locally-installed packages available to all users using a machine or a particular site installation.
See PEP-370 for more information about "Per user site-packages directory", and this tutorial about virtual environments to see that the installation location can be different (isolated in that case).