Yep! This is useful to compose your own css components when you either have something reused so often that it'd be tedious to use all the atomic utility classes, or when you need to make your own styles for things Tailwind can't do.
Then you can kind of have the best of both worlds by using short, simple Tailwind classes in your stylesheet, and you don't need separate blocks for pseudo-classes and size-classes.
Granted, the authors of Tailwind don't recommend you use @apply heavily, as there are drawbacks of doing this. With most frontend frameworks you can extract complex or reused bits of code to components which is likely the superior approach.