I'm going to answer your title question but not the two questions in the body. As the comments correctly point out, doing so well could fill a book. That said, I think there are a few technical aspects that were likely factors, which I'll talk about, and then, no doubt, plenty of historical and political factors which I'm not going to talk about. These technical factors, while, of course, still true, don't have the force today that they did in the early parts of the 20th century. The choice today is clearly driven by history and pedagogical "infrastructure". My impression is most mathematics students (even restricted to graduate students) aren't even aware that there is a thing called "type theory" except maybe vaguely. (As a terminological note, by "type theory" I'll usually mean conceptual descendants of Russell's type theory, by all accounts I've read, Russell's early formulation of type theory was a bit of a mess.)
Now the actual answer. The first thing you should note if you look at Farmer's paper, even just the abstract, is that type theory isn't an alternative to set theory, it's an alternative to first-order logic (FOL). A type theory is another kind of logic; it's not a theory within first-order logic like set theory. In other words, type theory (as a foundation) is a logical basis for mathematical constructions while set theory could be called, for lack of a better word1, a "mathematical" basis for mathematical constructions. This isn't a big surprise. This is the spirit of Logicism. There are three things that can be taken from this, and I'll elaborate on each below. First, type theory was a brand new logic. Second, from a philosophy of math perspective these two approaches suggest very different philosophies. Third, axiomatizing of set theory via ZFC is a kind of "reduction" of set theory to first-order logic.
While the formal details of FOL were being worked out around this time, more or less equivalent informal systems had been used since antiquity. As far as I know formally formulating FOL went smoothly. FOL was widely accepted, or at least easy to accept. Type theory was nothing like this at the time. Type theory was effectively adding new "rules of inference" without a satisfying basis. Presentations of type theory were complicated and unclear. One of the major issues with type theory is that it effectively made the notion of "function" or "predicate" first-class. One of the things going for FOL was the notion of semantics for it was uncontroversial. In modern terms we usually use set theory to talk about the semantics of a first-order theory, but any such semantics doesn't require the notion of powersets or the axiom of infinity or that the elements of the domain themselves be sets. Basically, all you need is cartesian products and bounded comprehension. Semantics for type theory would require function spaces or powersets. But figuring out what "functions" were was one of the problems that precipitated the "crisis of foundation".
Type theory, though, wasn't meant to be used like FOL. FOL is like a specification language. A first-order theory is like a specification, and we're primarily interested in models of the theory, i.e. things that fit the specification. This lends itself to a Platonist reading: things exist and FOL lets us talk about them. From this point of view, ZFC set theory is a way of talking about "sets" which "intuitively exist". The fundamental leap of faith is that ZFC has a model. Type theory is more like a programming language. There's no need to worry about models (though this is a rich and powerful field nowadays) because you can just construct what you want in type theory itself, out of "pure logic" so to speak. Nevertheless, people still want to know what "functions" and "predicates" are and there are two natural answers. First, the abstract answer is "something we can apply to an argument" and generally satisfies the appropriate rules. This leads people to wonder if there are such things and this leads back to semantics. The second answer is "anything you can write down of the appropriate type". This is much closer to a Formalist philosophy. This says a function, and everything else, is pure syntax. This line of thought does and did lead to computer science. The former approach doesn't really seem to help in solving the problem of foundations; the latter approach was poorly understood at the time and as time progressed it became increasingly clear that it led to a rather different mathematics.
Another perspective on what set theory is is that it is an "implementation" of (untyped) higher order logic in terms of first order logic. FOL is like a low-level programming language and ZFC is like a "machine program" in that language, while type theory is like a high level language. (Note again how type theory and set theory are different kinds of things.) From a usability perspective, this makes ZFC cumbersome. From a foundations perspective, though, this is exactly what you want. Arguably ZFC does reasonably well compared to type theories at minimizing the complexity needed to formalize a language that can reasonably handle all of mathematics, see Is ZFC a Hack?. (This paper includes the cost of formalizing FOL as well, so the picture is even rosier for ZFC if you take FOL as a given.)
Ultimately, it seems that by the time type theorists got their act together mathematicians were already getting comfortable with set theory and were no longer that concerned about foundations. Instead, computer scientists picked up type theory. Nowadays the unexpected but deep connections between type theory and category theory plus the completely expected but still deep connections between type theory and computer science have led a growing renaissance of type theory in mathematics. Constructivists have also laid a lot of ground work in showing that you actually can do a lot of mathematics "syntactically", and category theory has shown that even if you're not a constructivist, this is extremely profitable. Type theory has matured over the past hundred years.
1 Maybe someone can provide me with a better word...