Difference between convolutional neural network and recurrent neural network

What are the differences between a convolutional neural network and a recurrent neural network?

When should I apply which of the two models?