A software repository is where software packages are stored. This location is usually a server on the internet. The software packages can be accessed from the software repository to install on a computer. Software publishers maintain the software repository. Access to their server may be free or a subscription fee is required. A software repository can be for just one program like Perl to an entire operating system.
You can find many things in a software repository. The software repositories for Linux, for example, have software for just about anything from games to audio/video applications to Instant Messaging to web browsers among many other things. In Linux, they have more than one software repositories. Some repositories for Linux can be seen in the image above.
Those that maintain software repositories usually provide a packet management system. The packet management system generally provides the necessary tools needed to install and remove software packages. The packet managing system used by Linux is called APT (Advanced Packaging Tool). Upgrade, with respects to APT, is used to install newest versions of all the packages that are currently installed on a system. Packages that are already installed with a new version available are upgraded as opposed to removing the current package and installing the new version.