Sometimes real-world things have real-world costs. Prices can't fall below costs. So if a taxi winds up only making $1 per hour, it can't operate. Since you need to buy a car, and you need to keep it maintained, lowering prices can mean lowering car safety too.
In a physically huge region like Toronto, with traffic like Toronto, let's pretend that no one takes a taxi when they could walk faster. And since there's traffic, that mean the only time a taxi is used is for very long distances that exit or enter the core. That means airport, since no one takes a taxi to another city.
So you wind up with a situation where the only way a taxi can truly profit is to have enough airport runs to offset the crappy small stuff in-between.
But there are only so many airport runs to be had. Divide that by the number of taxis operating on a given day, and you have "your share". More taxis, lower prices, "your share" is worth less.
At some point, "your share", which is the same as everyone else's share, simply becomes too small to be worthwhile. So you stop operating.
But you don't stop on day 1. You hope on day 1. It's day 366 when you stop, bankrupt. And so does everyone else.
And you aren't a taxi driver. You are a taxi service. So you fire a few thousand drivers. Your "competition" closes doors too, because it isn't profitable to run a taxi service anymore, and he's got another side business to kickstart.
There isn't enough business to have prices change smoothly. So they change suddenly. That dumps owners pretty quickly.
Your economics curves are smooth, with infinite data points. Now picture the same curve with three data points, and you see the triangle spike that it is.
Remember, 10% of the population, 10 times the geography, half the history.