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
https://docs.nextcloud.com/server/15/developer_manual/core/theming.html I don’t see this section in latest docs (NC18). Does it deprecated?

And second create an app similar to it