I honestly don't think you can point to a single factor and say "That's the reason". It was really a mix of scheduling, the tone of the show, the BBC themselves not really backing it properly, budget and a whole host more. I would like to throw one other thing into the mix that I haven't seen mentioned yet:
Star Trek
More specificaly Star Trek: The Next Generation. The pilot episode aired on the same day as the final episode of Time and the Rani (granted in different countries). When you compare the two the difference is almost comical. Who was, well, a typical British sci-fi show with wobbly sets and ambitions that far outstripped the budget. TNG had a huge budget and, as a result, effects work and production values that wouldn't be entirely out of place on a movie screen at that time.
TNG was a sign that American TV was about to get serious about sci-fi and, when it was succesful, the writing was kinda on the wall. When you look at the long list of sci-fi / fantasy shows that came out in the late 80's and 90's it's hard to imagine the BBC being able to keep Who relevant even if they'd wanted to. TNG, DS9, Farscape, Babylon 5, X-Files, Buffy... the list just goes on and on and most of them made their way to British terrestrial TV in way or another.
Which leads to the other interesting theory - if Who had been kept going would it have survived the 90's? I'm not so sure it would as the audience then was spoilt for choice and unless some sort of co-production deal (like the TV Movie 'enjoyed' for instance) was put in place it's really hard to see how Who could have stood out. Ironicaly of course by bringing it back when they did the BBC have the double advantage of CGI now being (somewhat) affordable and the TV sci-fi landscape being a lot less cluttered than it was a decade earlier. In the long run being put on hiatus might have been the best thing that ever happened to the show...