Bi-carb of soda and baking soda are different names for the same thing; in Australia, we mostly refer to it as bicarbonate of soda, but in other parts of the world it is commonly referred to as baking soda.
Bicarbonate of soda (baking soda)is a pure leavening agent. It needs to be mixed with moisture and an acidic ingredient for the necessary chemical reaction to take place to make food rise. Because it needs an acid to create the rising quality, it is often used in recipes where there is already an acidic ingredient present, such as lemon juice or buttermilk.
Bicarbonate of soda can have a slightly “tangy” taste and it makes a lovely golden colour. It also makes a very specific texture not achievable with baking powder. It is very important to sift bicarb of soda well as it can get lumpy - and to use very exact measures as the “tangy” taste can quite easily become bitter or soapy if you use too much of it in your recipe.
Baking powder is a mixture - it contains bicarbonate of soda and comes pre-mixed with the acidic ingredient (often cream of tartar) for you. All you need to do is add is the moisture.
Baking powder is easy to make: mix two parts cream of tartar with one part bicarbonate of soda (don't forget to sieve). Baking powder has a neutral taste and is often used in recipes that have other neutral-tasting ingredients, such as milk.