when we use services like s3 or Dynamo DB through instances in a private subnet, it uses public internet through nat gateway to access s3 or dynamo DB endpoints,
if we create a VPC endpoint, it uses endpoint as a network which reduces the massive bandwidth and data transfer cost.
moreover, vpc endpoints are free of cost.
https://medium.com/nubego/how-to-save-money-with-aws-vpc-endpoints-9bac8ae1319c