Why do we use the smash product in the category of based topological spaces? I was telling someone about the smash product and he asked whether it was the categorical product in the category of based spaces and I immediately said yes, but after a moment we realized that that wasn't right.  Rather, the categorical product of $(X,x_0)$ and $(Y,y_0)$ is just $(X\times Y,(x_0,y_0))$.  (It seems like in any concrete category $(\mathcal{C},U)$, if we have a product (does a concrete category always have products?) then it must be that $U(X\times Y)=U(X)\times U(Y)$.  But I couldn't prove it.  I should learn category theory.  Maybe functors commute with products or something.)  Anyways, here's what I'm wondering: is the main reason that we like the smash product just that it gives the right exponential law?  It's easy to see that the product $\times$ I gave above has $F(X\times Y,Z)\not\cong F(X,F(Y,Z))$ just by taking e.g. $X=Y=Z=S^0$.
 A: From nLab:

The smash product is the tensor product in the closed monoidal category of pointed sets. That is,
  $$\operatorname{Fun}_*(A\wedge B,C)\cong \operatorname{Fun}_*(A,\operatorname{Fun}_*(B,C))$$
  Here, $\operatorname{Fun}_*(A,B)$ is the set of basepoint-preserving functions from $A$ to $B$, itself made into a pointed set by taking as basepoint the constant function from all of $A$ to the basepoint in $B$.

There's more at the link.  I must admit that I know nothing about this, but I recommend nLab as a good place to look for the categorical place of mathematical constructions.
A: This is pretty much (derived from, I guess) Jonas Meyers answer, but a bit more concrete, and as far as I know why we're interested in it. There is an adjunction $\hom_*(\Sigma X, Y)\cong\hom_*(X,\Omega X)$, where $\Sigma X:=S^1\wedge X$ and $\Omega X:=\hom_*(S^1,X)$. If we define $\pi_n(X):=\pi_0(\Omega^n X)$, or indeed $\pi_n(X):=[S^n,X]_*$, we get $\pi_n(X):=\pi_0(\Omega^n X)\cong[S^0,\Omega^n X]_*\cong[\Sigma^n S^0,X]_*\cong[S^n,X]_*$, which is an interesting relationship.
A: This way $\mathbf{hCW_*}$, the pointed homotopy category of CW complexes, becomes a closed symmetric monoidal category with tensor product $\wedge$ and unit $S^0$. This is important, because once we observe that the functor 
$$\Sigma^\infty: \mathbf{hCW_*}\to \mathbf{hSp}$$
to the stable homotopy category is lax monoidal, it would follow easily that $\Sigma^\infty$ sends monoids to monoids. In particular, since $S^0$ is obviously a commutative monoid, the sphere spectrum $\mathbb{S}$ is a commutative ring spectrum. In English, the sphere spectrum $\mathbb{S}$ defines a cohomology theory that has a skew-commutative cup product. 
A: Two reasons why we want the smash product:


*

*There is a natural homeomorphism $(X\times Y)^+ \cong X^+ \wedge Y^+$ for any spaces $X$ and $Y$. This is one of the places that the smash product naturally arises- you want to describe the compactification of a product in terms of each of the factors, how do you do it? It turns out the smash product is the best way to answer the question. In particular, using slightly more suggestive notation, this gives us the result $S^V \wedge S^W \cong S^{V \oplus W}$ for vector spaces $V$ and $W$... look familiar?

*As Jonas said, the smash product is the analog of the tensor product. Recall that the tensor product for $R$-modules is not the categorical product, but it is left adjoint to the Hom functor. This gives it all sorts of nice properties; it's one of the reasons why there is a nice duality between Tor and Ext, and all sorts of other nice stuff. However: I don't think that this analogy is incredibly useful until you move to the stable category... there the smash product is much closer to an honest tensor product, since you're working with an additive category. You can start making sense of what it means to "smash over a ring spectrum" just as one "tensors over a ring" (at least I think you can; you know more about stable stuff than I do.)


As a side note, in response to your parenthetical statement: If you want to know when some functor preserves products or coproducts or some type of limit, it's usually easiest to first check and see if it has an adjoint. See wikipedia on adjoints and (co)continuous functors.
