Soy milk in my books is a big no-no as it is always extremely processed and honestly has no nutrients at all.
When it comes to Tofu and Tempeh, which one is a better choice? Tofu is a blank canvas, ready to take on the flavour of any spice, sauce or condiment it meets. It comes in a wide array of textures from soft to extra firm and is created by coagulating soybean milk (which in itself is processed) and pressing the curds into a block. Regular Tofu is usually packed in water in the refrigerator section of your supermarket. 'Silken' Tofu is packaged in a box and doesn't need to be refrigerated, it crumbles more easily then the regular one and is used most often in sauces and dressings. These versions are heavily processed and not the ideal choice for regular Soy consumption.
Tempeh is much less processed then Tofu, which makes it a smarter choice on a regular basis. While Tofu has practically no flavour and is soft, Tempeh has a nutty taste and firm texture. It is a great choice if you're trying to mimmick the taste of meat in your recipes and is produced by cooking and fermenting whole soybeans and then pressing them into a dense patty (you can actually see the soy bean in the product itself as in the picture below on the left). I also just want to mention that fermented foods are great for us because they increase good bacteria in the gut. Tempeh contains about 35% more protein then tofu and about 7 times more fiber too! The reason for the higher level of nutrients is that it is less processed and has therefore retained more nutrients from the original soybean. You'll find it in the refrigerator section of your supermarket.