First some basic biology, taking human as an example. Humans have 22 chromosomes (image source):
As you can see (if you squint) in the image, we have two copies of each of the 22. With the exception of the sex chromosomes, X and Y (seen in the bottom right of the image above), you have the same complement of genes on each of the copies of the chromosome. Traditionally, the term "allele" refers to the sequence of one of the two copies.
We inherit one copy of each chromosome from each of our parents. So, if you have inherited a mutation at position $Ψ$ of chromosome 21 from one of your parents, you will be "heterozygous" for that mutation. This means that of the two copies of chromosome 21 in your cells, one will have the mutant allele at position $Ψ$, and the other the wild-type (i.e. "normal", although that's possibly a misnomer) allele.
SNP stands for "single nucleotide polymorphism". This means that it describes a difference of a single nucleotide between the genome you are looking at and the reference genome. For example, if the reference genome has a G at position Ψ of chromosome 21 and you have a T, then this is a SNP.
The term SNP is also commonly used to refer to polymorphic positions. This means specific, single base positions of the genome where variation is common in the human population. Having differences from the reference genome in such polymorphic sites is usually not problematic. The specific use of the term varies a little between subfields. If you're working on population genomics, you are likely to use SNP only for such known polymorphic sites, while others may use SNP to refer to any single nucleotide variant.
Which brings us to variant. This is a blanket term encompassing any and all forms of variation in a genome. SNPs are variants, but so are larger insertions or deletions (indels), copy number variants, large transposed sequences, the list goes on. You can basically think of variant as the catch all term used when you don't want or need to use anything more specific.
To sum up, we have:
- Allele: one of the two copies of a genomic sequence present in (diploid) cells.
- Variant: a site where the genome you are looking at differs from a reference genome of that species.
- SNP: a single nucleotide variant often, but not always, in a position of the genome where a significant proportion of the species' individuals show variation.