The major difference is in the API Gateway and the Lambda are regional service. Lambda@Edge is a global service.
Lambda@Edge allows you to execute the logic across multiple location.
This is the main difference between Lambda and Lambda@Edge, remaining all the things are mostly similar.