Dual-core refers to a CPU that includes two complete execution cores per physical processor. It has combined two processors and their caches and cache controllers onto a single integrated circuit (silicon chip). Dual-core processors are well-suited for multitasking environments because there are two complete execution cores instead of one, each with an independent interface to the frontside bus. Since each core has its own cache, the operating system has sufficient resources to handle most compute intensive tasks in parallel.
Multi-core is similar to dual-core in that it is an expansion to the dual-core technology which allows for more than two separate processors.