The difference is as follows:

Up-sells for a product, are items that you would like your customer to buy instead of the product that he is viewing, and they are pricey, better quality, etc. 

Cross-sell items can appear both in the product page and in the shopping cart but they are a bit like an impulse buy – similar to items at the till in a shop.

Related products also appear in the product info page, but they are products that are meant to be purchased in addition to the one that the customer is viewing. These can also have a tick box for purchasing together.