A single package is not necessarily the same as an application. Some applications can be shipped as several packages. Moreover, shared code (libraries) in Linux is normally shipped as separate packages, while in other systems applications often ship their own versions of required libraries and install them if necessary.
Commercial repositories for games
Each application or component is defined as a _package_. When the package is installed, all code, configuration, and other files are deployed on the system.
Each Fedora release has an official _fedora_ repository and an _updates_ repository (which contains critical updates since the release). In these repositories, you can find most common Linux open-source software. You can also install packages from other repositories, not maintained by the Fedora project and known as _third-party repositories_.
Fedora's package management system uses the https://rpm.org[RPM] package format. The application that manages packages in Fedora (since version 22) is https://fedoraproject.org/wiki/DNF[DNF]. Graphical package management is provided by the Gnome Software utility. For automatic updates, Fedora uses the PackageKit utility. Command-line and graphical tools provide the same results.
File placement
However, installing applications using the Fedora package management systems is the preferred option.
https://pypi.python.org/pypi[PyPI] for libraries (and sometimes applications) for the Python language
https://www.cpan.org/[CPAN] for libraries for the Perl language
In fact, for most Linux distributions, including Fedora, all of the system installation except the earliest part is performed by installing various packages. Security updates and upgrades to a next release are performed entirely by package management tools.
Installing from source code
Like most modern Linux distributions, Fedora uses a _package management_ system. Package management tools automate installation, upgrading, and removing of software applications and components.
Most of the time, it is best practice to install software on your Fedora Linux system using only the Fedora package management system. In this case, packages are installed in the most reliable way and automatic updates can be provided.
Other installation methods
Package management in Fedora
Resolving dependencies
Sometimes you might need to install software using other package management systems. Notably:
The package management system also tracks all _dependencies_ between the packages. For example, if an application requires some libraries, the package for this application lists the libraries as dependencies. When you install the application package, the package management tools automatically install the library packages. If a dependency is not available, the tools do not install the package, so you can avoid a sudden malfunction.