I have heard that quitting smoking is one of the hardest habits to beat. The nicotine is highly addictive. All the exsmokers I know say they still crave it sometimes so "do not" is not easy when it comes to so many bad habits.
Yes, I think you must substitut something else. It is my understanding that the antidepressant I take -- Bupropion -- is also used at low doses to help people stop smoking. I also think it is nearly impossible to make significant changes when a person is under stress.
Of course the root cause of many bad habits is underlying stress and trauma. This plus our genetics is why some people can drink alcohol moderately their entire lives while others eventually become alcoholics. I find this article interesting in regard to why we have mental illnesses:
Grandma's Experiences Leave Epigenetic Mark on Your Genes | DiscoverMagazine.com