Do the exponential object and the product coincide for $Set$? If they do, then why are they different for general categories?
If they do not coincide for $Set$, can the reason why be extended to general categories?
This is a follow-up to my previous question here: Difference Between Product and Function Spaces
As I understand it, at least for the category $Set$, the exponential object $X^J$ and the Cartesian product $\prod\limits_{j \in J} X_j$ coincide, namely both can represent the set of all functions $J \to X$ (where $J$ is our index set).
The typical example one often learns at a very young age, albeit not in this language, is: $$\mathbb{R}^2 \simeq \mathbb{R} \times \mathbb{R}$$ which can be written as (to make my point even more clear): $$\mathbb{R}^{\{0,1\}} \simeq \prod\limits_{j \in \{0,1\}} \mathbb{R}$$
The conclusion I reached from my previous question was that $X^J \simeq \prod\limits_{j \in J} X_j \subset \mathcal{P} (X \times J)$ (since $\mathcal{P}(X \times J)$ can represent the set of all binary relations between $J$ and $X$, and obviously all functions $J \to X$ are a subset of these relations).
However, at least for topological spaces, the exponential object and the product clearly do not coincide. For one, the exponential object does not even always exist, which is expressed by saying that $Top$ is not Cartesian closed, whereas (to the best of my knowledge) the product topology on the space defined by the Cartesian product (defined by using the forgetful functor into $Set$) always exists.
Moreover, the compact-open topology (on the exponential object topological space) is not the same as the product topology on the product topological space (I think).
This is very confusing for me, because defining a category to be Cartesian closed iff it is closed under exponential objects seems to imply that it would be closed under the analog of Cartesian products, which I thought were just general categorical products. But either I am deeply misunderstanding something or this is clearly not the case.
There is a sense in which they always coincide if $\prod_{j\in J}$ is understood to be an internal product--that is, a right adjoint to the functor $J^*:\mathbf{C}/1\to\mathbf{C}/J$ given by pullback along the unique morphism $J\to 1$. The intuition for thinking of such a right adjoint as a product is that such a pullback is like taking an object in $\mathbf{C}/1\simeq\mathbf{C}$ to the "constant familiy" indexed by $J$--i.e. a diagonal functor--so a right adjoint should be like a product of that family. It's easy to tell from right adjointness and the universal property of pullbacks that $\Pi_J J^*(X)\simeq X^J$.
However, there's no reason to think that this internal notion of product and the external notion (the one you usually see in category theory texts) are going to be nicely related. Any Cartesian closed category has internal products, but there may not be a way in such a category to translate an internal indexing family into a set-indexed one (the category of directed multigraphs, for instance, resists this kind of translation), nor might there be a limit for every set-indexed family (as in, say, $\mathbf{FinSet}$). The reason they coincide so nicely in $\mathbf{Set}$ is because set-indexed products are, obviously, just internal products in $\mathbf{Set}$.