That's a really big question. Here's my short version:
The three oldest distributions are Slackware, Debian, and Red Hat/Fedora. Almost all the others are based on one of these and will be described as Debian-based, Slackware-based, or Red Hat-based. There are also some that are things unto themselves, such as Arch and Gentoo.
The primary differences involve how the system boots and what kind of package management is used. Red Hat-based distros use *.rpm (Red hat Package Manager) formats; Debian-based distros use *.deb (Debian) formats; Slackware uses *.tgz and *.txz formats.
Package formats are not compatible across package types. That is, you cannot install a *.deb package with the RPM package manager. However, in any type of Linux, you can compile and install software from sources, which is nowhere as complicated as the term sounds.
RPM and *.deb package managers will resolve dependencies. That is, if you want to install program A and it needs to have program B or library C installed, the package manager will install them automatically. Slackware does not resolve dependencies; it is not the Slackware Way, though some distros based on Slackware, such as SalixOS, do resolve dependencies.
The other primary difference is how the configuration files, normally located in the /etc directory, are organized and how programs are started up on boot. This difference is usually not an issue for the user unless he likes to tinker with that sort of stuff.
Many persons get hung up with the desktop environment or window manager that a distro comes with, but that is a superficial difference. Generally, any desktop environment (KDE, Gnome, XFCE) can be installed to and will run on any distro. If you decide you don't like Gnome and want to try KDE, you don't have to search for a distro that comes with KDE, you just install and use KDE on your existing system.
Slackware comes with six GUI interfaces out of the box, though most distros come with only one. On this here Debian box, I have KDE, Gnome 2.x (the default), FVWM, and Fluxbox installed, though Fluxbox is always my first choice.
That should be enough to get to you started. Here is a link to an article from the Arch wiki (always an excellent resource); it's written from an Arch perspective, but will tell you much more: https://wiki.archlinux.org/index.php...ions#Slackware