I don't think there is a strict difference, but an odour tends to be not as strong as a smell. We would also tend to use 'odour' more if the smell were pleasant and more likely to use 'smell' if unpleasant, but often it is just a stylistic choice, indeed we do sometimes talk about nasty odours or nice smells.