What is the difference between molecular compounds, covalent compounds and covalent bounds

I think of molecular compounds as being made up of molecules with covalent bonds. CO2 for example.

NaCl is an ionic compound and consists of discrete Na^+ and Cl^- so it is not molecular while CO2 exists as discrete CO2 molecules. SO2 and SO3 are other molecular compounds.