I feel like we are surrounded by products which are all very similar but we don't really know the differences.
A body butter has a thick texture, a bit like yoghurt, which makes it a great moisturizer for your entire body but not for your face though. If you do put it on your face it might give you acne and more importantly, it will most certainly clog your pores.
A body lotion and a body cream is a hydrating and softening product for your skin.
The main difference is the density of the product giving it more thickness and hydrating power on the long run in the following increasing order: body lotion,body cream and body butter.
All of these products are generally advised to put on after your shower. But you can obviously put them on whenever you see feat.
On the subject of the difference in between shower gel and body wash, there both are liquid soap or washing solution and just the same the difference mentioned above; it has to do with concentration of the product fragrance wise and regarding the moisturizing abilities of the said product.