A virus, although often used as the collective term for malware, is actually just a type of malware.
Malware stands for MALicious SoftWARE. Terms such as Virus, Trojan, Worm, and Bot all have specific meanings.
A worm is similar in many ways to a Virus but with one key difference: A worm does not require a host file to replicate itself.
A trojan horse in computing terms is similar to its Homeric namesake: An attractive or desired file which hides a sinister payload within.
"Payload code", often simply called the "Payload", is the additional functionality present in Viruses, Worms or Trojan Horses
Spyware does almost exactly what it says on the tin: It is software which spies on the infected user.
Phishing (pronounced in the same way as fishing) is a social engineering attack which attempts to fraudulently acquire sensitive personal information, such as passwords and/or credit card details.
A rootkit is a collection of one or more tools designed to covertly gain and maintain control of a computer
Short for "Robot", a bot is a program that is designed to automate tasks.
A botnet is a group of bot infected PCs that are all controlled by the same "command and control centre".
A type of Advertising Display Software, specifically certain executable applications whose primary purpose is to deliver advertising content potentially in a manner or context that may be unexpected and unwanted by users.
PUPs are programmes which not cause harm to your system but might be unwanted.
Scams are very similar to phishing, but are not usually interested in obtaining your details, they often appeal to a sense of compassion or to human greed.
Hoaxes are usually silly pranks, chain mail, or Urban Legends.