Installing Software on the Raspberry Pi
For Linux, software applications are generally referred to as packages. Packages are stored in a repository.  A repository that contains all the packages that work in a Raspberry Pi is available and already set up to use in the Raspberry Pi.

The RPi has an ARM11 type processor and programs must specifically be made to run on the ARM11 (ARMv6) platform. Programs or packages made for other platforms such as Windows or MAC and even other Linux OS using AMD or Intel x86 processors will not work on the RPi.

Do not change the default repository else the OS may become irreversibly trashed.

Note it is quite common that the version of whatever program available for the RPi is several versions behind what is available for the same program on other platforms.

How to Download Programs and Updates:

The easiest way to download and install programs, (If you know the filename), is to use the apt-get command at a terminal prompt.
sudo apt-get install filename
Note before attempting to install anything be sure to do update (within the same day or so):
sudo apt-get upadate

If you don't know the filename then a Package Manager can be used - see below.
 Google search BUT when Google searching for a program to run on your RPi - If the site does not say it was made to work on the RPi, and the site does not give specific instructions on how to install the program on a RPi, then don't even bother to download it.

Some programs for other platforms can be made to work on the RPi by compiling from source code. This is beyond the scope of this web site.

Using a Package Manager:
A package manager allows the user to search the repository for available packages and download / install the packages. The PM will also show what has already been installed in the system and can be used to uninstall packages as well.

There is a PM utility included with Raspbian called Aptitude Package Manager but the program is pretty cumbersome to use. I find myself using this program to search and find the program I want then quit and use the apt-get command to actually do the install.
For a much easier to use GUI PM see Synaptic section below.

If you must then here are hints on using Aptitude installer to find programs:
Install from Aptitude:
You can also use the search / find but the search is performed on the filename only not the description. Many filenames are a bit cryptic and may not revel what the program actually is. You might have better luck doing a Google search and then looking in Aptitude to see if the program is listed in Not Installed Packages.

Aptitude screen shot
Aptitude Screen Shot

Synaptic Package Manager (GUI)

This is much easier to use than the text based Aptitude package manager.

sudo apt-get install synaptic

After installation, the Synaptic PM can be found in the start menu under [other]. If you prefer to have a screen icon you can right mouse click on the name and select [add to desktop].

Synaptic Screen Shot
Synaptic Screen Shot
The installed packages will be checked.

Updating System and Installed Packages

Update Package Lists:
This command is used to update the package lists for installed programs as well as list of programs that have not been installed. The system needs this information to know which packages need updating when the upgrade command is done.This should always be done before attempting to do an upgrade as well as before installing an individual package.  
sudo apt-get update

This command will update all installed programs to the latest versions available for the RPi.
This should be done soon after a new OS install and periodically every-so-often. I do update once a week or so.
sudo apt-get upgrade