Linux systems are made up from lots of different components, all being worked on by different teams with different goals.

Linux distributions exist so that end users don't have to experience all the pain involved in integrating all these different parts.

Different Linux distributions may have different goals or ideals, and most components can be built in a variety of different ways, such that a Linux distribution with the same versions of every component can produce a system that behaves differently.

So the first thing a Linux distribution does is decides how everything is put together.

The second thing a Linux distribution does is to provide a support channel. The level of support given by the distribution varies, but they're generally who you should go to before the authors of the software itself, since the upstream software authors aren't necessarily working on the same code as that which your distribution built.

This is because of the third responsibility of distributions - to provide appropriate levels of compatibility while keeping the software working and secure.

Upstream projects are generally interested in adding new features, potentially at the cost of changing how users interact with it. For some distributions this isn't appropriate, so they "back-port" bug fixes on top of the older version, providing longer term stability.

The last responsibility I'm going to consider is how they make their software selection and configuration available.

The larger distributions tend to make binary packages available, where they have compiled your software for you. This is not universal, there are source-based distributions like Gentoo, where the end-user is expected to compile their software on their own machine, but tools are provided by the distribution to make this easy.