Technique/Algorithm for product categorization Machine Learning
As Sean Owen said, it's a wide problem so I can't be generic on this one. I'll just give you an example on how you could tackle this: 

Let say you sell some products on a website. If you have 100 different products, you can represent each sale by a 100 dimensional vector, where each component is the count of ordered product. Example: sale1 = (2,0,1,0,...,0) means 2 item1 and 1 item3 sold. We use the same technique with words, and it is called bag of words. If you stop here, you only can perform statistical counts on individual product sales. So let's use matrix factorization.

If you sold products to 1000 people, then you can concat all your sales in a matrix of dimension 1000 X 100 where each row represent one sale and each column represent one product. Using decomposition algorithm such as SVD, you can find out singular values in your data that will show you latent factors in your sales (basically trends or connections between your products).