You guys, there are proper terms for this...
A Hacker is generally someone who knows a lot about the internal code of how computers work. One of the college textbooks that I owned went into lot of depth to divide what a real hacker is. They're really enthusiastic computer technicians that find loopholes in computer programs, applications, OSes, etc. then list their findings so people know that there are problems with the programs. Big rule of thumb though: It's never done for malicious purposes. They KNOW this. If they say otherwise, they're in the bottom category.
The ones who use hacking for all of the wrong reasons are called Crackers. Hackers aren't the ones who intentionally try to destroy your computer with viruses, it's these people who use their computer skills to hurt other users.
You don't use hacking to hurt other people-- against the law, obviously-- you use it to protect yourself if ever happens to you. If something is wrong with your PC, you can run and understand internal data to find out what's wrong. If someone else is hacking into your PC, you have the knowledge of "What should I do first" and you know methods of how to find the problem and make sure it goes away forever.
If you ask me, knowing how to hack a computer is a skill that should be taught in educational settings. Computer security is a HUGE business, and I see so much lobbying on their part to make sure this won't happen.