It is very true that the words cracker and hacker mean different things. It is also correct that media has corrupted the meaning of the word hacker.
Basically the term hacker meant, back in the good, old days, someone who was particulary adept at something.

Example:
  • A computer-hacker, someone with superior computer-skills
  • A tango-hacker (admittedly not used too often..), someone with superior tango-skills.
  • A ski-hacker, someone with ... you get my drift.

Cracker was used as a specialized term for illegal/immoral computerhackers. Not so anymore. Media ruined it for us.