An ozone generator generates ozone,
, which is not a good idea. Ozone can burn your lungs, even in small concentrations.
An Ion Generator generates negatively-charged ions that float around in the air. They do tend to agglomerate on dust particles and cause the dust particles to fall to the floor. Usually, there is a lot of dust that accumulates around this. This device is somewhat controversial and isn't real good at cleaning the air.
A standard HEPA air filter will remove particulate matter, but you can't expect to remove it once and have it totally gone. You'll probably have to use it for an extended period. I used one in a hotel room that smelled of smoke and it cleaned it up in an hour or so. This device won't take out material that is
dissolved in the air (gases), but it will take out any particulates. The cigarette smoke smell is usually particulate in nature.