A virtual machine is usually a software emulator that emulates the hardware and/or operating system for another platform in order to run software for that platform that would otherwise not normally be possible on your hardware. I like to think of virtual machines as virtual computers. There are many different forms and examples of virtual machines. Usually a virtual machine will have its own memory and hard drive space, but behind the scenes it's really just using your regular computer's resources. Often, if you have enough memory and processing power, you can run several of these virtual machines at a time.
Some examples of virtual machines:
C64 Emulators
Amiga Emulators
PocketPC Emulators
Palm Emulators
SmartPhone Emulators
Windows emulators (like WINE on Linux)
CITRIX MetaFrame or Windows Terminal Services (A Windows machine with a bunch of thin clients attached to it that appear as though they each were a separate computer. When you turn on a thin client, you're actually activating another virtual machine on the Windows server.)
CICS emulators (usually emulate a mainframe on a PC)
There's also another kind of "virtual machine" to tell you about. The JVM (Java Virtual Machine) is actually a virtual machine that gives Java programs the ability to be cross-platform independent. Since every platform talks to the hardware in different ways (via different machine-specific opcodes), Java programs are written and compiled into generic opcodes that only the JVM understands. A JVM must exist for each platform on which you wish to run a Java program. When you execute a Java program, the JVM reads and translates the generic Java opcodes into the machine-specific opcodes specific to that platform. While the original Java code is generic, the JVM that translates and executes that code was actually written specifically for that platform. You couldn't take the JVM executable on a MacOS and install it on Windows XP just like you couldn't buy a software package for the Mac and expect it to run on Windows. But you can install a Mac version of the JVM on the Mac and a Windows version of the JVM on Windows, and they would both be able to run the same compiled Java program. Hopefully I'm making sense!
That said, I'm not sure what type of VM that Electron is talking about. Just thought I'd give you some info about what a VM is.