It's been a common misconception since the early eighties that hacking and cracking is the same thing, that's simply not the case. At some point, the popular media got themselves confused and started using the term hacker, when they really meant cracker.
To this day, many people are still confused by these terms. If you have friends who don't know the difference between a hacker and a cracker, feel free to send them to this page so they can learn the difference.
Hackers are frequently programmers and knowledge seekers, looking to expand their understanding of the inner most workings of any computer system. During this quest for knowledge they may discover holes within systems but will never use it for malevolent reasons. In most cases they will share their knowledge with the intention of allowing the owner to prevent unauthorised access in future.
Hackers eat the egg without damaging the shell.
A Cracker is nothing more than a modern day burglar, they break into a system by unauthorised means, damage things without a care for the effect it may have on users of that system, deface public facing content and steal data legally owned by others. The actions of crackers are almost always malicious in nature.
Crackers break the shell and scramble the eggs before selling them to the highest bidder.