Emulation: - The process of using a computer program to mimic the behaviors of another computer program, operating system, or piece of hardware. For example, emulation involves providing the functionnality of your target processor completely in software.

Virtualization: - Taking a physical processor and partionning it into multiple contexts - all of which take turns running directly on the processor itself. When the guest OS is requesting a certain instruction or action to be executed, instead of trying to re-invent the wheel and emulate them, it will try to "pass" the request to your actual hardware and ask it to execute it instead.

This being said, Virtualization does involve some emulation of certain devices to allow the various operating systems to "play nice" together.

Obviously emulation tends to be quite a bit slower because the software just cannot emulate the hardware near as efficiently as using the actual hardware. Virtualization is much faster because of this, but it has a downside as well. Emulation can be more stable (in reference to the host operating system) because resource contention between the guest OS and the host OS is non-existent where in Virtualization, the guest and host OSes are sharing the hardware.