The usual definition of an arbitrary Cartesian product is: if $\{X_i\}_{i \in I}$ is an indexed family of sets, $\prod_{i \in I}X_i$ is defined to be the set of all functions $x:I \rightarrow \bigcup_{i \in I} X_i$ such that $x(i) \in X_i$ for all $i\in I$. But I believe that this definition cause some intuitive properties of the product to be false.
The main problem is that, every time $\{ X_i\}_{i\in I}$ and $\{ Y_i\}_{i\in I}$ are distinct families such that $\bigcup_{i \in I} X_i \neq \bigcup_{i \in I} Y_i$, then, rigorously, no function of the form $x:I \rightarrow \bigcup_{i \in I} X_i$ can be of the form $x:I \rightarrow \bigcup_{i \in I} Y_i$, because for two functions to be the same, they must have the same Codomain. This observation shows that, in this case, $(\prod_{i\in I} X_i) \bigcap (\prod_{i\in I} Y_i)= \emptyset$, and a consequence of this is that:
$$X_i \subseteq Y_i \ \ \forall i \in I \not \Rightarrow \prod_{i \in I} X_i \subseteq \prod_{i \in I} Y_i$$
(you can see this if you let the $X_i$ be proper subsets of the $Y_i$, for example).
I acknowledge that this problem is usually ignored for practical purposes, but I would like to know if there is a way of fixing this by changing something in the definition of the product (or if I am making any mistakes in my reasoning). Thanks in advance.