Great question! Boy, do I have a geek answer for you!
Buttermilk is made by culturing low or non-fat milk, sour cream is made by culturing cream. The cultures are what we are after, they act as emulsifiers, making your cake come together more perfectly and adds to tenderness. Depending on what you are using it also adds flavor depending in the strain of cultures used in the fermentation process. Buttermilk has almost no fat. Sour cream has a lot of fat.
Sour cream is produced from light cream. The starter cultures contains Lactobacillus bulgaricus and Streptococcus thermophilus, which is the same as buttermilk (only buttermilk is made from low fat milk). But, sour cream also has Streptococcus and Lactobacillus (which buttermilk does not have), which makes it coagulate and naturally lowers the pH.
So, buttermilk has a much higher pH then sour cream and in scratch baking you may have to alter your recipe if you are subbing it in. If it was written calling for buttermilk, it will have higher leavening from baking soda to neutralize some of the acid.
You can easily sub in sour cream in just about anything and not have to alter your leavening (i.e. baking powder- only recipes or boxes of cake mix) at all because generally speaking, the low pH shouldn't effect anything and you get the benefit of the extra emulsifiers. That's why so many doctored recipes call for it.