The major difference is between the type of service referred to. A snapshot is of an EBS volume where you are able to save state and reboot with the same data at a certain point in time.
An AMI is similar, but it's for the EC2 instances themselves. You cannot take a snapshot of a non-ebs backed instance, but you can create an AMI (system image) of one. Mostly, you can use EBS snapshots as backup solutions for a database volume and an AMI to save instance configuration.
Learn more about the difference between ami and snapshot here.