At internal level, distros vary in many details. Administration can be quite different from one to another.
As a regular user, the differences are mostly (and from my point of view) three fundamental ones:
- the default configuration
- the default look
- the package manager
The first two can be changed to a big degree usually, though admittedly some distros are far easier to customize than others. The third one usually can't be changed (well, nothing is impossible, but at that point, you just change to another distro).
The source code for the linux kernel is at kernel.org, the source code for the rest of applications, are on their respective home pages usually.