Schema test vs data test

Hi all

I am a newbie that try using dbt, especially to test our data. I have a very basic question and would like to seek for advices

when we should use schema test or data test (or what is really the difference, constrains b/w those kinds of tests)

At first it looks very straight for us. Data tests are more flexible than schema tests. But after doing some more home works, it turns out schema tests could be customized, and more than that it could be parameterized as well. Even the official sample in dbt test section for data test could be written in schema test either.