An ionic bond is where a metal losses electron(s) (up to 3) and non metal gains these electron(s) (usually it's between metal/non metal, but I think there are exceptions). Because of this, the metal becomes positively charged, while the non metal becomes negatively charged, therefore they attract and bond due to the electrostatic force (difference charges). However, it's not always 1:1, it depends on the valance number. E.g. Consider aluminum (Valence 3+) and oxygen (Valence 2-) . To have a balanced charge, 2 Al atoms both give off 3 electrons each (so 6 in total), which 3 oxygen atoms accept. Now the 2 Al atoms are negatively charge, and the 3 oxygen positive, so Al3O2 forms
A covalent bond is when 2 non-metals (usually non metals, but again, there are exceptions) share electrons so they have a full outer shell. E.g. Carbon has a valance of 4, so needs 4 more electrons for a full outer shell. Hydrogen has a valance of 1, but only needs 2 electrons to fill its outer shell. Therefore, 4 hydrogen atoms each share 1 of the carbons outer shell , resulting in CH4.
A polar bond is a type of covalent bond, where there is a significant difference in electronegativity, so the electrons are pulled more strongly to one atom, meaning the atoms within the molecule have a slight charge, even though the atom is still neutrally charged overall. Hydrogen bonding is the strongest type of polar bond, between hydrogen and either Oxygen, Nitrogen or Florine bond.
So basically, a lot of it depends on the valance of atoms - how many electrons it needs to gain or loss (whatever's easiest for it) to have a full (or empty) outer shell.
Hope what I remember from last year helped

...