One feature of Linux is that all software installation and updates are centrally managed. You don’t browse the web to manually download and install programs. Instead you fire up a program called a package manager which lists all available programs, kind of like an app store. All you have to do is select which ones you want to install and the rest is automated. There’s a huge amount of free / open-source software available too. My own system lists about 40,000 available programs.
Free / open-source programs can be a pain to install manually. To avoid reinventing the wheel, a piece of free software will use features of other existing free software when possible. This might mean that in order for program “X” to work, it requires that programs “Y” and “Z” also be installed. A package manager handles these “dependencies” automatically so when program “X” is selected to be installed, programs “Y” and “Z” are automatically installed as well.
Since OS X is very similar to Linux, many of the same programs are available. To make using them easier, there’s two popular package managers for OS X, Fink and MacPorts. MacPorts works by downloading the source code for each program and building it from scratch. Also MacPorts is hosted by Apple. Fink is faster since it downloads programs that are pre-built. Both use their own location to install packages so it’s possible to use both MacPorts and Fink at once. This is helpful if a particular program is only available in one or the other.