Showing a subset of an arbitrary product space is dense in said space

Define $$X := \prod_{i \in \cal I} X_i$$ for an arbitrary family of topological spaces $$\{X_i\}_{i \in \cal I}$$. (For clarity, $$\mathcal I$$ denotes an index set, and its cardinality is unrestricted.) Note that we define this product by

$$X := \prod_{i \in \cal I} X_i := \left\{ f : \mathcal{I} \to \bigcup_{i \in \mathcal I} X_i \; \middle| \; f(i) \in X_i \; \forall i \in \cal I \right\}$$

Fix $$f_0 \in X$$. Consider the set

$$S := \left\{ f \in X \; \middle| \; f_0(i) \ne f(i) \text{ for finitely many } i \right\}$$

I wish to show that $$S$$ is dense in $$X$$. That is, either $$\overline S = X$$, or for every open neighborhood $$U$$ in $$X$$ we'll have $$U \cap S \ne \emptyset$$. (These conditions are known to be equivalent.)

The question is ... how to go about this? I imagine the latter definition would be the preferable one (limit points of $$X$$ seem far less intuitive to me), but that's about all I have.

This past question suggests it might be possible to do so if we find some sets $$S_i$$ such that $$S_i$$ is dense in $$X_i$$. However, is such a thing even guaranteed to be possible? (That is, for any arbitrary topological space, does there always exist some set which is dense in it?)

If so, it makes this fairly easy: one would just note that the basis of $$X$$ is given by $$\prod_{i \in \mathcal I} U_i$$ for open sets $$U_i$$ of $$X_i$$, and consider the product of those and how they have nonempty intersection with the dense sets $$S_i$$ and their product $$\prod_{i \in \mathcal I} S_i$$. (Though I'm glossing over the details a bit, but I'm sure I would be able to do this much by myself.)

But finding said dense sets seems to elude me. Does anyone have any bright ideas as to how I might find such dense sets? Or just other thoughts as to how I should proceed?

(I would prefer to not have a full solution, since this is ultimately homework. I would rather have just some sort of nudge in the right direction.)

• If $$\mathcal{I}$$ is finite, $$S=X$$.
• If $$\mathcal{I}$$ is infinite, let $$U=\prod_{i\in\mathcal{I}}U_i$$ be a basic open set in $$X$$; then there is a finite $$\mathcal{F}\subseteq\mathcal{I}$$ such that $$U_i=X_i$$ for all $$i\in\mathcal{I}\setminus\mathcal{F}$$. That is, $$U$$ restricts only the finitely many coordinates in $$\mathcal{F}$$; the others can be anything, and in particular they can agree with $$f_0$$.
The problem is very easy. To solve it, it suffices, given a canonical basic non-empty open set $$B$$, find a point in $$B\cap S$$.
the basis of $$X$$ is given by $$\prod_{i \in \mathcal I} U_i$$ for open sets $$U_i$$ of $$X_i$$