The soup tasted odd, though Mark couldn’t pinpoint exactly why. Like when someone had spat in your food(:)(;) you knew something was off with the taste, texture, or temperature, but not exactly what.
Some people told me colons are better for lists, so the semicolon is a better choice. Is this the case? Why or why not?
Colon is preferable here because what comes after the colon (in your sentence) actually expands on and explains what came before — that is what a colon is usually expected to do. In short, the colon answers the unspoken questions relating to the first part of the sentence: what, how or why!
Another couple of examples —
“He has the qualities of a perfect gentleman: (what?) chivalry, valor and extreme discretion!”
“This is a perfectly cooked curry: (why? Because it is) well balanced, not too spicy, and VERY flavorful!”
“He played the part, for her, of the perfect husband: (why or how?) he never contradicted her!”
The semicolon, on the other hand, is used to break up a sentence in a different way: unlike with a colon, the two parts of the sentence (separated by the semi-colon) are not always linked in the form of expansion, enumeration or explanation.
It was raining outside; but inside it was warm and very cosy.
He gave her no reply; in retrospect it seemed an error.
They were drunk on Saturdays; and they regretted it with a splitting headache on the Sunday.
In short, the semicolon creates a convenient PAUSE in the sentence – this pause being longer than a comma and shorter than a full stop – which enables the writer to make some pertinent point; the reader uses it to mentally pause for half a beat in the reading of the sentence.