There are many differences between Linux distributions. The most important of them (but definitely not all) are:
- Different purpose of each distribution. Some distributions are targeted more for servers, some for desktops. Some are tailored for particular purpose, like eg. network diagnostics and data recovery, or working with music, videos etc., and include appropriate tools. Some are very small and limited and are targeted for use in embedded devices like routers, TV set-top boxes or PVRs.
- Different set of software included by default in the distribution (which is to some extent related to point 1, but not only).
- As you noticed, different desktop environments installed by default (or none at all in some distros) - this also impacts point 2.
- Different administration tools used to manage the system.
- Different methods of installing software and obtaining software updates. The most important here is the difference between package formats used by particular distribution - there are several different formats in use. This also partially impacts point 4.
As someone noticed in the comments, after installation pretty much any distribution (except highly specialized ones, for example those for embedded devices) can be customized to look and work like pretty much any other one, except that one fundamental difference stated in point 5. For example, you can make Fedora look and behave like Ubuntu and use similar tools, but Fedora will always use RPM format for installing software and Ubuntu will always use the DEB format (or Snap, as Canonical pushes more and more towards that format, which I don't like personally).
This is only a very brief answer, there are much more aspects to this.