What exactly is the difference between all these dairy products?
First, there is something that is not explicitly placed on your list, but is needed to understand the others: cream, also called sweet cream when a mixup with cultured dairy is possible. Used without any further qualifiers, it is made from milk by removing liquid such that there is higher fat percentage left in. How much higher is not known from simply the word "cream". Both milk and cream can be cultured with bacteria to produce fermented types of dairy. 

Now to the points in your list, in an order more convenient for explaining: 


Heavy cream is cream that contains at least 36% fat. 
Double cream is cream that contains at least 48% fat. 
Whipped cream is cream that has been physically agitated to turn into a foam. 
Sour cream is cream that has been fermented with standard yogurt cultures. In German supermarkets, sour cream is typically made from 10%-fat-cream, but in principle, it can be made with other grades of cream. 
Clotted cream is sweet cream that has been heated using a specifc process to change its texture. 
Creme fraiche is a cultured product made from cream. It has at least 30% fat and is made with a special strain of mesophilic cultures. 
Buttermilk in the modern sense is a cultured product made from milk. It uses yet another specialized culture strain that takes even lower temperatures than creme fraiche cultures. 


The original sense of buttermilk was something different - they left out unpasteurized milk to naturally sour, then beat the butter out of it. The resulting fermented whey with pieces of butter floating in were the buttermilk. Nowadays, it is the whole liquid that you can buy (without the fat having been removed as butter) and the cultures are added intentionally to pasteurized milk. But you are unlikely to see that product in the English speaking world, the only reason to remember this sense is if you are working with historical recipes.



To get from definitions to usage: these are all different products with different texture and taste. For each application calling for one of them, any of the the three cases may apply: 
- It is impossible to substitute one for the other for technical reasons 
- It is technically possible to substitute, but eaters acquainted with the original dish will not recognize it as "properly made" or as the same dish 
- The substitution may work without snags 

So, in the end, there is not much to be said about the difference in general. As a cook, you just use each of them according to suitability and tradition, as your recipe directs you.