People that create viruses do it for 1 of 2 reasons.
1. They are trying to steal info or some other illegal action
2. To mess with people.
If a company says that they don't have viruses, people will create them because of a lack of knowledge, so it's easier to fly under the radar. Or they will create them just to spite the company. Why do you think hackers hack? Either because they want something out of it or just because they can.
Untrue. Viruses are created for many reasons. Advertising, data collection, fraud, and most frequently, malicious activities. Botnets, for example, are viruses that can direct bandwidth (conficker) for advertising sites or even taking sites down. Some people make them to prove a point.
Also hackers usually hack just for fun.
ALSO for both of these parties, there's the white-hat group that does that stuff for good, finds security holes for companies and stuff like that.