Prefered way to customize core and apps styles

I see two approaches to customize nextcloud. What is prefered way. What pros and cons?

First to put your styles to a theme folder I don’t see this section in latest docs (NC18). Does it deprecated?

And second create an app similar to it