When and why do products preserve pushouts? Let $A,B,C$
  topological spaces and then $D$
  the pushout of a diagram
$$B\stackrel{b}{\leftarrow}A\stackrel{c}{\rightarrow}C.$$
It seems logical to me that for a fifth topological space $E$ the pushout of
$$B\times E\stackrel{b\times\operatorname{id}_{E}}{\leftarrow}A\times E\stackrel{c\times\operatorname{id}_{E}}{\rightarrow}C\times E$$
is homeomorphic to the product $D\times E$.
However, several tries to come up with a simple proof ended at some point where there was no obvious next step, so to say. This makes me think that this result doesn't hold in a general setting like the above.
On the other hand, I don't see, why something like this should not work even in more general settings like other categories.
Can somebody point me in the right direction here? In which (preferably very general) situation does the above hold and how would you go about giving a simple, abstract proof of it?
 A: The body question doesn't seem to quite match the title (don't you want to take the product with $E$?) so I am answering the title question. If $A$ is empty then a pushout is just a coproduct, so a special case of your question (in categories with an initial object) is asking whether products distribute over coproducts. Categories with this property are called distributive. As Zhen notes in the comments, distributive categories include cartesian closed categories, where taking the product with a fixed element has a right adjoint and therefore preserves arbitrary colimits (including pushouts). 
However, many familiar categories fail to be distributive; take, for example, $\text{Ab}$. This is straightforward to verify for finite abelian groups. 
It is also known that $\text{Top}$ is not cartesian closed. However, it is in some sense not far from being cartesian closed; the full subcategory of compactly generated Hausdorff spaces (and it seems one can weaken the second condition even further) is cartesian closed. 
(By the way, "pushouts commute with products" is not a good name for this property; the meaning of the phrase "X commutes with Y" ought to be invariant under switching X and Y, but the actual property you want doesn't satisfy this. "Products preserve pushouts" might be better.) 
