This three terms are used similarly in many situations, but many people don't know the real meaning of this words.
The term Malware is a general word that refer to any software installed on the computer that perform unwanted tasks, this covering all unwanted software like viruses, adware and spyware:
Viruses: is a kind of malware software that can perform a damage on the system, taking activities like file deletion, slowing of computer speed or a passive activity to enable the access to other viruses, the viruses have some characteristics like the duplication, the propagation through the network and some of them are as sophisticated that can disable some defensive software, for example the firewall and the antivirus.
Adware: It's an unwanted software that generally is installed without the permission of the users, showing offer messages of a variety of products, many times the adware software is installed behind a known software because the users frequently do the installing this software without read the terms of conditions.
Spyware: This malware can retrieve and transmit information from the system infected to some specific point in the network or internet.