So I am having trouble working out what, specifically is the difference between these two.
As I understand it, a snapshot is simply a backup of the disk drive, where
As per the definition provided by AWS,
An AMI is a template from which you can start an EC2 instance. An EBS Snapshot is a block level copy of an EBS volume. The EBS volume might be a boot volume (i.e. containing an operating system), or a data-only volume (containing database files for example). You use RegisterImage to create an AMI (from a snapshot).
These are two different concepts, applied at different levels (EBS volumes vs EC2 templates) However, there are some dependencies between the two concepts.
For EBS backed EC2 instances (i.e. EC2 instances that boot from an EBS volume), the AMI is implemented as an EBS Snapshot of a boot volume + a couple of meta data (the architecture of the machine - 32 vs 64 bits -, the type of virtualization - HVM vs PV - etc ...)
So, for EBS backed EC2 instances, an AMI is an EBS snapshot + an XML file. You can even create your own AMI based on any snapshot of a boot volume you own.