Bom dia Felipe, beleza? Você tem um ponto, realmente vários programadores reclamam da complexidade e da verbosidade que o Criteria traz para seu método.
Logo, muitos preferem criar suas próprias queries usando o método createQuery()
da própria JPA.
Como opinião pessoal, eu só uso criteria quando tenho que fazer queries extremamente complexas (MUITO extremo mesmo), de resto eu faço as queries eu mesmo e pronto.
Mas ai vai de gosto e de costume de cada programador, muitos ainda usam Criteria para tudo pois estão acostumados.
O importante é usar algo que funcione para você e para seu código.
Valeu, bons estudos!