Olá Wellington, tudo bem com você?
Entendo a sua confusão, quando nos é introduzido o conceito de tags é falado que são formas de marca conteúdos com certas características e definições. E posteriormente é apresentado também as classes, que nada mais é que um atributo global que engloba um ou mais elementos, que nesse caso seria as tags, de certa forma eles têm tarefas parecidas.
Contudo, pensado em um projeto em larga escala, a aplicabilidade dos dois é diferente, pegando por exemplo um blog qualquer na web, nele temos vários textos e imagens diferentes e com diferentes características apresentadas na página, e como definimos textos com a tag <p>
e imagens com a tag <img>
e temos textos com diferentes estilos e as imagens também, quando formos configurar esses estilos no CSS ficará muito mais difícil, pois não terá algo que vai separar cada um desses elementos, aí que entra as classes, que vem ajudar a separar esses elementos em grupo ou apenas definir uma classe específica para um elemento.
"Por que criar uma classe para estilizar o título principal se este tipo de conteúdo não se repete?" esta foi outra pergunta que você fez, isso deve ser feito por uma questão de organização, como esse curso é introdutório não é apresentado um projeto de larga escala, por isso, é fácil encontrar uma tag com uma certa configuração de estilo no nosso arquivo de css, mas quando é um projeto grande é fácil nos perdermos no mar de códigos e por isso aplicamos classes para tags que não se repetem, podemos encontrá-las mais facilmente e fazer alterações e adições nelas caso precisem.
Espero que eu tenha lhe ajudado de alguma forma, caso tenha mais alguma dúvidas vou estar à sua disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.