As the name suggests, a photoresistor is a variable resistor. The resistance of this device changes as the light intensity that hits it changes.
This makes the LDR an excellent choice for detecting not just light, but how much light there is.
On the other hand, a photodiode is a diode, connected in reverse bias, which means in the opposite direction that you would connect a normal LED or diode. A photodiode will turn on (allow current to go through it) when light above a certain level of intensity hits it.
While a photoresistor is an analog device, with values that vary from a few Ohms to several tens of KiloOhms, a photodiode has two states only, on or off.
A photodiode, also, responds very quickly to changes in light intensity - quicker than a photoresistor.
These properties dictate what you can do with these devices.
If you want to know how bright the lights in a rooms are so you can control a dimmer, you would use a photoresistor.
If you want to read a message encoded in a infrared beam of light, or laser, like it happens in a TV set remote control, or a CD/DVD player, than you would use a photodiode.