They are the end results of system developer's work in taking a version of the Linux kernel, various applications and software utilities and compiling them from source codes, along with combining the software libraries needed by these programs. The user needs to be aware of these restriction before using the application. The software is free. The user is just paying the system developer a fee for putting this all together.
Some developers charge a little more for a time limited technical support services.
I started using Linux with the Slackware distribution. Slackware has been around for a long time. It allows for customization, which requires a learning period, but has default settings to get a begining user up and running with a basic system. The customization allows the user to build a kernel that meets their specific needs which means a more compact and faster system than a preconfigured one. Rumors has it that Debian, another distribution, is becoming a perferred distribution for beginners as is S.u.