These are two really useful rules for differentiating functions. We use the chain rule when differentiating a 'function of a function', like f(g(x)) in general. We use the product rule when differentiating two functions multiplied together, like f(x)g(x) in general.
Take an example, f(x) = sin(3x). This is an example of a what is properly called a 'composite' function; basically a 'function of a function'. The two functions in this example are as follows: function one takes x and multiplies it by 3; function two takes the sine of the answer given by function one. We have to use the chain rule to differentiate these types of functions.
To the contrary, if the function in question was, say, f(x) = xcos(x), then it's time to use the product rule. This is because we have two separate functions multiplied together: 'x' takes x and does nothing (a nice simple function); 'cos(x)' takes the cosine of x. But note they're separate functions: one doesn't rely on the answer to the other!