a
By definition, an alkanoic acid has a double bond from carbon to oxygen. This double bond makes the carbon quite positive. Also, the carbon has a single bond to the oxygen. This further increases the positive charge on the carbon. Therefore, there is quite a strong dipole down the end of the carboxylic acid functional group, allowing for stronger dipole-dipole and hydrogen bonding forces with water molecules, increasing solubility. Alkanols, in contrast, don't have the extra polarity afforded by the C=O bond.
b
The strength of an acid is directly related to how stable the conjugate base is. Hydrochloric acid is a strong acid because its conjugate base, the chloride ion, is quite stable with its octet of electrons. With alkanoic acids, if you deprotonate them to form the conjugate base, we have a negative charge on an oxygen atom. However, the excess electron density actually spreads over both oxygen atoms; they share the charge, producing a stabilizing effect. In contrast, alkanols, if deprotonated, leave ions with the negative charge solely on the oxygen atom which isn't nearly as stabilizing. Therefore, carboxylic acids are much stronger acids than alcohols.