Why are smoke odors from fire so tough to get rid of?
Incomplete combustion is the cause of smoke odors. Combustion converts a solid into a gas with heat and oxygen. When there’s enough heat, oxygen and fuel, combustion is complete and there is very little smoke or soot. But complete combustion is rare in a structural fire, and the result is heavy smoke and soot. 

Incomplete combustion releases carbon, tar, acid, resins and many other substances. Over 4,000 chemicals have been identified as by-products of combustion in a structure. These residues build up on surfaces and create pockets of odor. Many of these particles are extremely small, ranging from 0.1 to 4.0 microns. For comparison, a human hair is 50 to 100 microns. These tiny particles can adhere to all surfaces and inside the tiny cracks and crevices. Unless they are removed, they can be a source of odor for months or years. 

The heat of the fire is probably the biggest factor in creating persistent smoke odors. Higher temperatures cause the pores in materials to open, allowing deeper penetration of soot and smoke deposits.

Smoke odors are typically classified into three categories: 

Protein odors
from burned meat or poultry. The residue is yellowish-brown and has a greasy texture. Wet cleaning is often required for complete deodorization.

Natural substance odors
from burned wood, paper, cotton, wool, cork, feathers, etc. The residue is gray or black and has a dry powdery consistency.

Synthetic substance odors produced by burned plastics, synthetics, textiles, etc. The residue is black in color and smears easily.

Each of these sources requires specialized techniques and chemistry.