The difference between these two substances is based on some subtle things chemically, but macroscopically, the difference is obvious: fats are solid at room temperature, and oils are liquid at room temperature.
The reason behind this difference can have to do with two separate and significant factors: degree of saturation and length of the molecule. Let's first consider the latter case.
Smaller molecules tend to more easily become liquid and gaseous states of matter. For example, even though methane and ethane are saturated hydrocarbons, like the solid ane, but methane and ethane are gaseous at room temperature. The difference is best attributed to the fact that ane has 16 carbons, while methane and ethane have 1 and 2, respectively.
The degree of saturation also contributes to whether a lipid is solid or liquid. The higher the degree of saturation, the more stable in structure the lipid molecule is. Because single bonds are relatively flexible, the chains are free to associate with each other and create a stable, solid mass. However, if you have double bonds, as in an unsaturated lipid, there are "kinks" in the structure, and the chains are not as free to associate with each other. This latter situation allows the lipids to be less likely to associate in the stable way required to be solid.
Because most lipids in, say, vegetable oil or butter tend to be roughly the same size (16-20 carbons), the deciding factor tends to be the degree of saturation. Oils have more double bonds and are less-saturated than their buttery fat cousins.