From a security perspective I can't think of a single reason to
not hash.
Not hashing is like not brushing your teeth. There's no immediate repercussions but you're risking extreme pain and cost in the long run.
My guess as to why people don't hash is mostly inline with why people don't brush their teeth:
* Laziness
* Lacking a culture of health
* Ignorance
Laziness probably comes mostly from the developer side. A developer makes the wrong trade-off: faster launch today over long-term security. It's easier to write a program that emails the plain-text password to a user than to create a password-reset mechanism.
Lack of culture. An organization or a group of developers don't prioritize issues of security and long-term sustainability. They are stuck in an eternal day-to-day, short-term focus.
Ignorance. Management and decision makers that simply aren't aware of the dangers of non-hashing. Brushing & flossing your teeth is actually a very weird and non-natural behavior. Most kids need persistent years-long training to develop the habit. Like brushing, if decision makers haven't been educated about hashing they will probably only recognize the benefit after some unpleasant disaster (database breach, e.g. teeth start rotting & falling out).