From the documentation:
Scan marks are control sequences set equal to
\scan_stop:, hence will never expand in an expansion context and will be (largely) invisible if they are encountered in a typesetting context.
Like quarks, they can be used as delimiters in weird functions and are often safer to use for this purpose. Since they are harmless when executed by TeX in non-expandable contexts, they can be used to mark the end of a set of instructions. This allows to skip to that point if the end of the instructions should not be performed (see
The scan marks system is only for internal use by the kernel team in a small number of very specific places. These functions should not be used more generally.
To the last point, where would scan marks be appropriate? Is this 'wherever quarks are inappropriate' by definition? What's the actual distinction? (I understand the TeXnical difference, but I'm asking about use-case.)