Water can cause stains on headliner from a variety of reasons, including rain, sweat, or tears. If the headliner is not treated properly, it can become stained with bacteria and other pollutants that can cause a bad odor.