Is vmlinux a virtual machine?
vmlinux is the executable file that is generated when building the Linux kernel. This isn't a normal executable file that would be generated as a result of compiling a program using, say, gcc.
As Wikipedia suggests, this executable needs to be further processed to be made bootable, but this is the essentially the executable image of the kernel.

Does that mean vmlinux is a virtual machine that runs Linux?

No, the 'vm' here stands for 'virtual memory'. From Wikipedia,

With the development of virtual memory, kernels that supported this feature were given the vm- prefix to differentiate them. The name vmlinux is a mutation of vmunix.

What is this vmlinux executable good for? Well, for starters, it can be made bootable and then booted on a physical computer.
You can also use this executable to run a virtual machine using qemu. Then, you can debug the kernel that is running in the virtual machine using gdb.