The name type theory can be used to refer to a number of logical systems. Most of them have one thing in common: they attempt to separate or stratify the construction of mathematical objects into types, so that paradoxes and illicit/improper use can be avoided.
The earliest type theories seem to have been developed by Bertrand Russell, with a view to avoiding constructions like Russell's paradox by only writing down well-typed mathematical expressions.
Soon thereafter, Church developed the simply-typed -calculus, which is also known as simple type theory.
Following that, Girard developed System F, a system of polymorphic types which is also known as polymorphic -calculus, or polymorphic type theory.
All of the above - and many more - are type theories. However, nowadays the programming language community uses the term type theory to almost exclusively refer to Martin-Löf Type Theory. Whether this includes things like the Calculus of Constructions is up for debate.