What does into a distribution depends on what kinds of uses the distribution targets.
In a general-purpose distribution like Fedora, Ubuntu, Debian, Arch Linux, etc., pretty much any software can go. Most Linux distributions concentrate on free software. The main general-purpose distributions will include pretty much any free software that has some use beyond a niche audience, that is reasonably usable and not too buggy, and (since most distributions are volunteer efforts) that someone is willing to take the time to package up.
All distributions that are intended for desktop use have a window manager included, and usually many of them. Some distributions may favor a particular window manager, for example by making it part of the default installation and setting up user accounts to use it by default. However, the window is a user choice: different users on the same system may use different window managers anyway.
Distributions that are not intended for desktop or server computers may offer a different selection of software. For example, OpenWRT is a Linux distribution for embedded devices, especially network appliances; it doesn't provide any GUI.
You can't make an operating system with just a kernel, any more than you could make a car with just an engine. A kernel won't give you a way to interact with the system in any way. A bare minimum system needs at least some way to run programs at startup. If the system is interactive in any way, you'll need a way to log in; most systems have one, though some embedded appliances might not. If you want to have a unix-like system, you need to have the usual unix utilities, including a shell, as well as various other tools that are expected on any unix system. If you want to have a GUI, you need the X window system. You can build non-unix systems with Linux as the kernel; Android is the most famous example.