There is no simple answer to this question, since the number of possible macros is arbitrarily large.
Furthermore, there are both LaTeX macros and TeX macros, which in packages are often intermixed.
The best free resource for TeX itself is Victor Eijkhout's TeX by Topic which should be part of your distribution's documentation (use
texdoc texbytopic to display it).
For the core LaTeX macros (i.e., those defined in the LaTeX kernel) you can look at the source documentation for LaTeX. (this should also be on your system:
texdoc source2e should display it).
For any other macros you should look at the package documentation that defines them. This is especially true for user level macros; for internal macros you may need to look at the source of the package or class itself.