There is one difference in meaning, and that is about the same as for "between" and "in between" in English: imellem can be used as an adverb, mellem can't.
- Barnet sovede mellem/imellem sine forældre. - The child slept between his parents.
- Barnet sovede imellem. - The child slept in between/in the middle.
If you use it just as a preposition, imellem tends to sound more formal.
These rules also apply to other pairs, like blandt/iblandt, gennem/igennem or mod/imod.