Virtaulization and containers play significant roles in the cloud computing space. They are similar in several ways but also different.
Virtualization is the foundation for Infrastructure as a Service. It is the logical division of physical computing resources. It turns a physical server into a virtual host machine. It involves fully self contained computers inside of a virtual machine.
A hypervisor is the core element of a virtualization solution which allows one to run a virtual machine where a guest operating system has access to virtual hardware.
A software container is an operating system level virtualization that allows for isolated user spaces to run specific applications. Containers slice up the operating system to run specific applciations. Unlike with virtualization, there is one operating system and not multiple operating systems. This allows for less overhead. Containers involve fully self-contained applications inside a container.