Your missing one option...hacking to learn. People crack for warez, attackin etc, but people hack mainly to learn! 
Allow me to say that ur wrong at 1 point here....most people still
crack for knowlegde or for fighting the big companies like Micro$oft, Coca Cola, Shell, etc. They dont do it for profit or for fame. They dont see cracking as free warez but as a stab to towards those companies becoz they ask outragous amounts of money for - in Micro$ofts case - their overbloated programs. Here is a quote from +ORC, one of the first crackers that hit the scene and is actually quite famous, not becoz he wanted to, but becoz of the knowlegde he shared together with his very clear vision he had in mind which he shared in his tutorials.
Strange as it may seem, the reasons for cracking are very important for the success of our task. We (at least we old crackers) crack AGAINST society, and OPPOSING laws and conventions. We usually DO NOT crack for money or for other
"commercial" reasons (just sometimes, and we are expensive: I have plenty of money already and my services are VERY expensive if you need an aimed deprotection). But in general we don't care much for money and -as you can see- I am giving away the basis of what I know for free with this tutorial. The programs we crack should be made free for everybody, even if we spent some of our time deprotecting them. We could not care less of the commercial value of a given program, not to mention the holy work of the ethical programmers...
Why i hack ? I hack becoz i want people to know the truth about our society and what all the big companies and governments want u to think.
Unfortunally im not at that stage yet, so if i can get u cracked micro$oft crap on a hacked stro, then so be it.