What determines whether or not a word set gets a hyphen? I was smoking and noticed that my pack of cigarettes said “Flip-top box”. However, I notice that the box also has a “white top”. No hypen in the second case.

“Flip-top” is a compound adjective modifying the word “box”: it’s a flip-top box, not a flip box or a top box. Plus, “flip-top box” without the hyphen could be interpreted using “flip” as the verb: “[You] flip [the] top box.” Correctly using the hyphen to compound the adjective prevents any misinterpretation.

When you saw the instance of “white top,” did it say “white-top box” or “this box has a white top”? If the manufacturer used “flip-top box” in one sentence and “white top box” in another (and was referring to a box with a white top, not the white-colored top box in a stack of boxes), then they need to hire a proofreader.