The user-data field is native to AWS, whereas the remote-exec provisioner is specific to terraform which is just one of many ways to call AWS-API
User-data can be viewed in AWS-CONSOLE and is an important part of using Auto Scaling Groups in AWS, It's not possible to do that with Terraform's remote-exec provisioner.