AWS Classic uses resource schema designed by Terraform developers. It is well-tested and supports pretty much everything you can do in AWS. It is also an extra layer outside of AWS, which comes with its own error messages, ways of structuring data, and more.
AWS Native uses an API provided by AWS itself, and the schema is inferred from that. Unfortunately the AWS Cloud Control API, which is the backend for AWS Native, is very new and still under development. There are many resources that are not yet supported by Native.