Yes, RAM is memory. In computer terms, "memory" almost always refers only to RAM. On a consumer machine at this time, you will usually have between 2gb and 24gb of RAM.

The 500gb / 800gb number is the computer's harddrive capacity. On a consumer machine at this time, you will usually have between 200gb and 2tb of harddrive capacity.

RAM is temporary memory. Everything on it is deleted every time the computer reboots or loses power. The harddrive is permanent memory; the data on it is not lost when power to the drive is lost or reset. RAM is also orders of magnitude faster than the harddrive.

A mechanical hard disk of the type used in a majority of computers for permanent storage is not randomly accessible. The data is stored on a disk that is physically spinning, similar to a CD. The data can only be read in one direction (opposite the direction of spin) and at only one point in time (when the piece of the disk containing the data is under the disk head). If you ask the disk to read a piece of data that is on the other side of the disk it simply waits until the disk has rotated 180 degrees; it doesn't alter the rotation of the disk in any way to seek to the data.

This contrasts with traditional integrated circuit memory, of the type used in some RAM, which immediately (at least immediately as in as fast as the speed of light through copper) begins reading the stored data as soon as a request to read it is received regardless of the physical location of the data on the chip.

Because randomly accessible memory is a lot more expensive than non-randomly accessible memory for disks of any significant size.

So do all application run on the RAM? What if an application is too big to run on RAM?

The executable code for all applications is transferred into the RAM before the CPU executes it. Standard computer CPUs are not capable of executing code directly from a disk. If the application is too big to store the RAM, then the part of the application that is being executed is placed into RAM, and the remainder of the application is placed on the disk. The application code or data is transferred back and forth between the disk and RAM as needed, so that the part that is in-use is always stored in the RAM. This process is called swapping and is extremely inefficient.