Mutual respect in your relationship seems to be missing. He doesn’t care about your needs as he satisfies himself (and not bothered about your’s) and does not free himself from vices which you hate. When you do not have healthy sexual life, how come you feel that you are happy in your married life? Is it that that you do not want to accept the problem or you also taking things for granted like your husband?! I think this type of attitude have deep routes, which need to be explored and addressed. You should go for couple counseling.