The first thing required for there to be dipole-dipole interactions between molecules is for both molecules to have a dipole. These dipoles may be permanent (polar molecules) or temporary (instantaneous or induced dipoles in non-polar molecules).
Permanent dipole-permanent dipole interactions
Polar molecules have an asymmetrical electron cloud/charge distribution. This is due to an asymmetrical shape (due to lone pairs of electrons around the central atom) and/or due to the presence of polar-covalent intra-molecular bonds (electronegativity difference between the two atoms of 0.5+), which do not "cancel out" each other.
As there is an asymmetrical charge distribution, one side ("pole") of the molecule has a slight ("delta") negative charge, while the other pole has a delta positive charge. The attraction between the delta negative pole of one molecule and the delta positive pole of a neighbouring molecule is called a permanent dipole-permanent dipole attraction.
Non-polar molecules can also have temporary dipoles. These form more often when the molecule has a large electron cloud (you can predict this from its molar mass). At any one instant, the electrons may be unevenly distributed, creating an instantaneous dipole within the molecule: one pole is delta negative, while the other is delta positive. This can induce at dipole in a neighbouring molecule, creating a temporary dipole-temporary dipole attraction.
This idea can be used to explain why #Cl_2# is a gas, #Br_2# is a liquid (more dipole-dipole attractions), and #I_2# is a solid that sublimes (even more dipole-dipole attractions).