Why is it that I can only detect smells if I breathe, and not when I hold my breath?
The olfactory epithelium is located in the highest part of the nasal cavities, overlying the cribriform plate of the ethmoid bone.  In order for you to smell something, the odoriferous molecules have to travel the length of the nostrils (which are a pair of very narrow passages which also happen to be filled with hair) and up though the full height of the nasal cavities, having to pass three sets of baffles (known as the nasal conchae) on the way.

When you take a breath, your lungs and inspiratory muscles form a suction pump which pulls air through the nostrils up into the nasal cavities; some of this air, along with any odoriferous substances contained therein, is swirled up to the top of the nasal cavities, where the olfactory epithelium is located.

In contrast, when you're holding your breath, there is no significant air movement through the nasal cavities, and even airflow contained entirely within the nasal cavities is considerably obstructed (thanx to the aforementioned hairs and baffles); therefore, for any odoriferous substance (such as the perfume you're probably sick of smelling by now) to reach the olfactory epithelium, it has to diffuse all the way from the tips of the nostrils to the top of the nasal cavities on its own.  This is a much slower process, and, therefore, it takes rather a while to notice anything smelly when you're holding your breath - even if it's, literally, right under your nose.