It may be a technicality, but diminutives are usually names for a person that are based upon their actual name; Mike or Mick for Michael, Betts, Liz, or Beth for Elizabeth, etc.
Nicknames usually aren't based upon the person's actual name and may be based on a physical characteristic, an embarassing event, or something totally random. Red, Bud, Half Pint, etc. are nicknames.
The difference usually isn't the end of the world but keep in mind that some names usually have an associated "pool" of diminutives. Nicknames can be more arbitrary and come from anywhere.