DAX ( fully managed in-memory cache that can increase performance from milliseconds to _micro_second latency.
Improve read and write performance.
DAX is optimized for DynamoDB and does not require changes in your code since it is just put in front of you dynamo db and you requests just have to point there.
In case of Elasticache there is more management overhead ( like cache invalidation ).
DAX is a separate entity to DynamoDB and it is placed within a VPC.