Why should I care if I don't get the code when I buy software? I'll never look at it or change it?
It's true that most people buy their cars and have no interest in ever even opening the hood. And most of those that do will only change their oil, or replace belts, etc. Very few will ever replace their alternators or rebuild their engine. But some will.
While most people don't care to get their hands that dirty, how would people react if Ford suddenly sold all of their cars with the hoods locked such that only an authorized dealer could open it? (And in a comparison to some companies, threaten legal action if you figure out a way to open it yourself). If they decided that you cannot get any repairs (patches or upgrades) from anyone except the dealership? I'm sure they'd love the extra revenue, but the business they would lose would greatly offset that. The public outrage caused by such a business decision would be quite significant.
Why shouldn't you be allowed to tinker under the hood of the software you buy? Even if you don't want to, shouldn't you be allowed to take it to another professional who would be experienced enough to do it for you?