aws-native uses AWS's Cloud Control API. It is aligned to AWS' resources and theoretically can handle resource types that haven't been added to aws / awsx yet. However, AWS haven't completed their Cloud Control API, so it's missing a lot of resources right now. Being an early adopter of this has potential future benefits, but limited right-now benefits.
aws uses the same schema as Terraform's AWS packages. It is mature and covers all but the very newest of AWS APIs. Almost all example code you find will use this. However, new AWS resource types take a little while to appear here, since there's an extra upstream step (and dev team) that has to finish their work before this package can see the changes. Generally, this is the one you should use.
awsx is an opinionated wrapper around aws. It can help you create more resources with less code. However, you sacrifice some configurability to get that. It is fit for use in all cases where it fits. YMMV.