$\omega$-string avoiding a set of substrings
If every $\omega$-string contains a substring in $S$, then we say that $S$ is unavoidable or a universal hitting set (UHS). There is a classical algorithm for detecting whether a set of substrings is unavoidable, described for example in Lothaire's Algebraic combinatorics on words, Section 1.6.
Construct a graph $G$ as follows. The vertices are all prefixes of strings in $S$. For every prefix $p$ and symbol $\sigma$, we connect $p$ to the longest suffix of $p\sigma$ appearing in the graph. The set $S$ is unavoidable iff every cycle in $G$ passes through a vertex corresponding to a word in $S$.
To see this, suppose first that every cycle in $G$ passes through a vertex corresponding to a word in $S$. Consider some $\omega$-word $w$. Starting at the vertex $\epsilon$, &quot;read&quot; the symbols of $w$ one by one. Eventually you will hit a cycle (since $G$ is finite). By assumption, this cycle contains a vertex $v$ in $S$, and so $w$ contains $v$. In the other direction, tracing an $S$-less cycle (replacing each edge by the symbol $\sigma$ used to create it) results in a periodic $\omega$-word which avoids $S$.