Because unit tests are only usefull if you write testable code. And writing testable code is hard. And people are lazy and / or cheap.
EDIT : nuanced "lazy" as "lazy and / or cheap" ; some rare times, people actually have the skill and capacity and will to write tests, but they have something else to do that more directly affects the bottom line.