Main memory refers to the memory from which the CPU reads its instructions as it executes them; typically, a simple CPU will read an instruction from main memory, execute it, and then read the next instruction, repeating the process indefinitely.
(With the advent of modern CPUs, which for purposes of increased speed usually have multiple instructions in execution in parallel, the simple model above no longer actually applies.)
Main memory is also used to store data for immediate access by the CPU. Computers which keep instructions and data in the same memory are called 'von Neumann' architectures; those which keep instructions and memory in separate memories, usually reached via separate busses, are called 'Harvard' architectures.
Modern computers usually have a cache, in which the machine keeps both instructions and data which are in current use. However, the operation of the cache is usually invisible to the program/programmer; to them, all the instructions and data appear to be stored in main memory.
A number of different technologies have been used over time for main memory.
The very earliest computers used technology such as acoustic delay lines and storage cathode ray tubes; in some low-cost computers, magnetic drums were used. These were all replaced by the far superior (compared to its predecessors) core memory. Eventually, it in turn was replaced by semiconductor memory, principally dynamic RAM.