Fala ai Renato, tudo bem? Vamos lá:
Eles servem para fazer a mesma coisa ou são complementares?
Na verdade o TypeScript não é um transpilador, se olharmos o que o próprio site diz sobre:
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Ou seja, TypeScript é um super conjunto de funcionalidades que compila para JavaScript.
Eu particularmente o considero uma linguagem que vai compilar para JavaScript, isso porque ele tem sua própria extensão, funcionalidades, compilador, etc...
A motivação do TypeScript é adicionar funcionalidades que ainda não existem ou não estão estáveis no JavaScript, por exemplo: Tipagem, campos privados, orientação à objetos, interfaces, etc...
Já o Babel, ele sim é um transpilar, onde dado um código JavaScript moderno ele irá ler e gerar um código antigo que faça a mesma funcionalidade do moderno.
É recomendável estudar ambos ou apenas um deles?
Sim, o Babel é muito usado no mundo Front-End (também pode ser usado no back) e o TypeScript está sendo crescendo cada vez mais (tanto front quanto back).
Espero ter ajudado.