Virtual machines, as described by your lecturer, offer abstraction of physical hardware. Virtualisation is a fundamental building block of cloud systems, and the direction of modern IT generally. By installing a hypervisor on your physical server, you can split its resources into 'virtual machines', and run multiple virtual systems, on a single set of hardware.
For example, lets pretend I am a software developer, and have a capable computer with a good CPU and lots of RAM running Windows. I might like to isolate my workspace to develop a Linux application, without having to dual boot, or have 2 PCs. I can create a virtual machine, to allow me to run this Linux system on top of my windows physical machine, and install a Linux distribution onto it as if it was a physical PC.
A Hypervisor is a system which manages and supports virtual machines. It provides the abstraction mentioned above. Its responsibilities include managing physical resource allocation to virtual machines (RAM, CPU, Storage, etc), performing administrative tasks such as creating and deleting virtual machines, and facilitating transport such as migrating virtual machines.
Some of the advantages of virtualising systems include:
- Portability between physical servers. If your CPU fails, the virtual machine can appear to be unaffected by performing a live failover to a clustered server.
- Isolated environments. If you have machine wide configurations, like php.ini settings that can't be easily broken out into an application level configuration, virtual machines let you create a computer for a specific task with its own environment.
- Cost. Virtual machines are inexpensive to provision and remove. Services like Amazon's EC2 allows you to create a virtual machine on demand for relatively cheap. The biggest incentive though is scalability. If your application suddenly needs more resources, you could create more virtual machines on demand, and essentially only pay for what you need.
- Environment Replication. If you provide services to a customer and they are experiencing problems, you could copy their entire virtual machine, and host the copy on your own development environment. This ensures you won't miss an important detail that might help you diagnose an issue, as all operating system and application configuration is self contained.
If you use Windows I suggest you install Hyper-V and check it out for yourself. If you don't use windows, you could consider VM-Ware Workstation, or Virtual Box. Hyper-V is a hypervisor built into Windows 8+ (and server 2008+) that allows you to use virtual machines within Windows, and I have linked a TechNet article to get you started, but there is a plethora of information available on google.
If you are a student, I also recommend signing up for Microsoft DreamSpark, which will offer you free licences for some Microsoft products, which will ease your experimentation and learning. Once a member, you will be able to download an installer and licence for Server 2012R2. If you attend a university that is part of the DreamSpark Premium program, you will have access to a quite extensive set of licences for educational use, and further to this, you can still access the standard DreamSpark program.
Keep in mind that there is a lot that can be said about virtualisation, and as your lecturer kept the content very shallow, I have tried not to go into too much detail. If you want to learn more, set up your own virtual environment and virtual machines, and the language in the articles you read will start to make more sense - you can then ask more targeted questions.