A big factor in these two sources of pollution becoming a problem is the weather conditions, and something we call The Atmospheric Boundary Layer. This is the lowest layer of the atmosphere, the one in direct contact with the surface.
The thickness of this layer usually depends on the temperature profile of the atmosphere, that is, the rate at which the temperature drops as you go upwards. If you have relatively dry conditions, temperatures go down by 1 degree Celsius for every 100 meters you go up from ground level. This is called "The Dry Adiabatic Lapse Rate", and the line of this rate on a temperature vs height graph is called "The Dry Adiabat". If you have humid conditions (where relative humidity is near or at 100%), the temperature goes up by about 1/2 a degree per 100 meters, and this is called The Moist Adiabatic Lapse Rate, and the line of this on the graph is called "The Moist Adiabat". You can use these two lapse rates to figure out at what height above the ground clouds will begin to form, given a specific set of atmospheric conditions, and even how tall those clouds will be.
If the temperature goes up with height, instead of down, you have what is called "a temperature inversion". Where the temperatures start to rise with height is the bottom of the inversion layer, and where temperatures begin to go down with height again is the top of the inversion layer.
Sometimes the bottom of the inversion layer starts at the surface and sometimes it starts higher up. If you are ever driving in to work and you see a thin layer of brown haze hanging over the city, but it is clear underneath and above, you can be sure that it is due to a thin inversion layer, where the bottom of the layer is well above the ground. If the entire city, from the ground up, seems choked with pollution, then the ground is the bottom of the inversion layer. The latter case is the more common, so that is what this discussion will mostly deal with. Wind speeds are almost always lower than the wind speed above the inversion layer, and at times, the difference is quite pronounced. Inversions happen quite often. Nearly every day, in fact. Overnight, surface temperatures drop, which also cools the air above it. When the sun rises in the morning, it will begin heating the air above the ground first, since its photons encounter those molecules of air first. Thus, we end up with warmer temperatures above, and cooler temperatures below. As the sun heats the ground, the air above the ground heats up, and when the temperature of that air exceeds the temperature of the air higher up, that was heated first by the morning sun, the inversion "breaks", and the depth of the boundary layer increases from there. These inversions can persist for a long time, depending on atmospheric conditions. If there is a slightly different wind direction higher up, and winds come from a slightly warmer area, you can end up with warmer air aloft that will stay warmer than the air at the surface, no matter how hot the air near the surface gets. This "persistent" inversion can last all day, or it can break very briefly, in the middle of the day, when surface temperatures are at their highest.