A virus is a type of malware that propagates from one computer to another by maliciously hiding copies of itself into files and other media. Moreover, these types of malwares are unable to spread by themselves rather require human intervention to transfer from one host to another and infect. Viruses with the help of humans will spread through email attachments, removable media, phishing links, network services, social engineering and so on vectors.
Worms, on the other hand, are malware types which are capable of spreading from one computer to another by transmitting copies of itself through network services. Moreover, it will propagate from one host to another by itself without the use of infected files and mostly without human intervention. This is what makes worms more delicate than viruses. Similar to viruses, worms may make use of phishing attacks, email attachments, removable media, social engineering and other mechanisms.
However, both are malicious software attacks that bring havoc and scandals across businesses in the whole world.