Determining whether a compound is ionic or molecular in nature
In principle, when studying a structure like HCl, CH3COOH, or any other compound, the first thing to do is drawing the symbol of the atoms in a reasonable geometry on a sheet of paper. Then consider the outer electron layers : put enough points around each symbol to get a reasonable Lewis structure. For example, one point near $\ce{H}$ and six points around $\ce{O}$. Then try to join atoms with their neighbors to make covalencies (or doublets). When all atoms are joined to neighbors, count the number of electrons around each atom, taking into account that the two electrons included in a covalence between A and B  are at the periphery of both atoms A and B. Check all atoms. If an atom respects the octet law, don't modify it : its structure is covalent. If an atom A does not respect octet law, try to remove one electron from its outer layer, and send this electron to the B atom, which becomes negatively charged. The covalency disappears from the region between A and B, and the bond AB becomes ionic with a positive charge on the A atom, which becomes $\ce{A+}$, and a negative charge on $\ce{B}$ which becomes $\ce{B-}$.
Using this method, you will see that $\ce{HCl}$ and $\ce{CH3COOH}$ are both made of covalencies, because all their atoms are respecting the octet rule. You will also see that $\ce{NaCl}$ may first be drawn in a covalent structure. But then the sodium atom does not fit the octet rule. It will if an electron is removed from the sodium atom, to be given to the chlorine atom, producing then $\ce{Na+}$ and $\ce{Cl-}$ ions.
Hydroxides contains two sorts of bonds. Hydroxides like $\ce{NaOH}$ are made of covalent bonds between $\ce{O}$ and $\ce{H}$ atoms, and of ionic bonds between $\ce{Na^+}$ and $\ce{O-}$.
Oxygenated acids are a special case. They may get two sorts of bonds between $\ce{A}$ and $\ce{B}$. For example sulfuric acid $\ce{H2SO4}$ can be drawn with this method to give first a covalent structure with two bonds $\ce{H-O}$, two bonds $\ce{O-S}$, and two double bonds $\ce{S=O}$. This is OK for all atoms except the central Sulfur atom, which is surrounded by six doublets or six covalences. At this point, some chemists are thinking that it is a case of hyper valence. Some think that the octet rule may be obtained by removing the second bond from each double bond from the sulfur atom, and sending it to the outer Oxygen atom. This makes a central sulfur atom charged $2+$ (respecting the octet rule) and two oxygen atoms charged $1-$. Both theories can be discussed.
The only problem with this reasoning is the fact that it does not work properly  for atoms of the third column. For example, $\ce{BF3}$ should be ionic making $\ce{B^{3+}}$ and $\ce{F-}$ ions. Indeed $\ce{BF3}$ remains covalent, and it is hard to justify. Maybe, on may admit that Boron atom prefers to stay covalent rather than to loose three electrons. Three is probably too much.