Tensor product in quantum mechanics? I often see many-body systems in QM represented in terms of a tensor products of the individual wave functions. Like, given two wave functions with basis vectors $|A\rangle$ and $|B\rangle$, belonging to the Hilbert spaces $\mathcal{H}_A^n$ and and $\mathcal{H}_B^m$ respectively, the basis $|C\rangle$ of the combined Hilbert space $\mathcal{H}_{AB}=\mathcal{H}_A \otimes \mathcal{H}_B$ is then
\begin{equation}
|C\rangle = |A\rangle \otimes |B\rangle.
\end{equation}
However, in QM the tensor product (or outer product) may be written as $|A \rangle \langle B |$. What is the difference between $|A \rangle \langle B |$ and $|A\rangle \otimes |B\rangle$?
 A: $\lvert A\rangle \langle B \rvert$ is the tensor of a ket and a bra (well, duh). This means it is an element of the tensor product of a Hilbert space $H_1$ (that's where the kets live) and of a dual of a Hilbert space $H_2^\ast$, which is where the bras live. Although for Hilbert spaces their duals are isomorphic to the original space, this distinction should be kept in mind. So we can "feed" a ket $\lvert \psi\rangle$ from $H_2$ to the bra in $\lvert \phi\rangle\otimes \langle\chi\rvert \in H_1\otimes H_2^\ast$, and are left with a state in $H_1$ given by $\langle \chi \vert \psi\rangle \lvert \phi\rangle$. The usual use case for such a tensor product is when $H_1=H_2$ to construct a map from $H_1$ to itself, e.g. the projector onto a state $\lvert \psi \rangle$ is given by $\lvert\psi\rangle \langle \psi \rvert$. 
In general, a tensor in $H_2 \otimes H_1^\ast$ corresponds to a linear operator $H_1\to H_2$. In the finite-dimensional case, these are all linear operators, in the infinte-dimensional case, this is no longer true, e.g. $H^\ast \otimes H$ are precisely the Hilbert-Schmidt operators on $H$.
In constract, a tensor $\lvert A\rangle\otimes \lvert B\rangle$ (also just written $\lvert A \rangle \lvert B\rangle$) in $H_1\otimes H_2$, although it corresponds to a bilinear map $H_1\times H_2\to\mathbb{C}$ by definition, is usually not meant to denote an operator, but a state. Given two quantum systems $H_1$ and $H_2$, $H_1\otimes H_2$ is the space of the states of the combined system (as for why, see this question).
A: The notion of tensor product is independent from the Hilbert space structure, it is defined for vector spaces on the field $\mathbb K$ (usually $\mathbb R$ or $\mathbb C$). A formal definition is given below (there are many equivalent approaches). 
First, if $V$ is a vector space, $V^*$ denotes its algebraic dual space, namely the vector space of the linear maps $f: V \to \mathbb K$ with vector structure defined by:
$$(af+bg)(u) := af(u) + bg(u)\quad \forall u \in V \tag 0$$
if $f,g \in V^*$.
It turns out that $\textrm{dim} \,V = \textrm{dim} \,V^*$ if $\textrm{dim}\, V$ is finite, the proof being elementary. However, the given definition of $V^*$ does not require finiteness of the dimension of $V$.
To go on, notice that $V$ identifies with a subspace of $(V^*)^*$ by means of the injective linear map
$$\imath: V \ni v \mapsto \imath(v) \quad \mbox{where $\imath(v)(f) := f(v)$ if $f \in V^*$}\tag 1$$
The linear embedding $\imath : V\to (V^*)^*$ is a natural vector space isomorphism provided, again, $\textrm{dim}\, V$ is finite, the proof being evident as the embedding is a linear and injective map between spaces with equal finite dimension.
The embedding (1) permits us to define a vector space called the tensor product
$$V_1 \otimes \ldots \otimes V_n$$
 of vector spaces $V_1,\ldots, V_n$, with the common field of scalars $\mathbb K$.
The tensor product is  a subspace of the vector space ${\cal L}(V^*_1,\ldots, V^*_n)$ of multi-linear maps $F$ with 
$$F: V^*_1\times \cdots \times V^*_n \ni (f_1,\ldots, f_n) \mapsto F(f_1,\ldots, f_n)\:.$$
The vector space structure on ${\cal L}(V^*_1,\ldots, V^*_n)$ is defined along an evident generalisation of (0).
In fact, if we pick out $v_i \in V_i$ for $i=1,\ldots, n$ we can construct the multilinear map over $V^*_1\times \cdots \times V^*_n$ called the tensor product of vectors $v_i \in V_i$ as
$$v_1\otimes \cdots \otimes v_n : (f_1,\ldots, f_n) \mapsto f_1(v_1)\cdots f_n(v_n)\:.$$
Definition. $V_1 \otimes \ldots \otimes V_n$ is the subspace of ${\cal L}(V^*_1,\ldots, V^*_n)$ spanned by all finite linear combinations of tensor products $v_1\otimes \cdots \otimes v_n$ for $v_i \in V_i$ for $i=1,\ldots, n$.
It turns out that, if $dim V_i$ is finite for every $i$, then $\dim (V_1 \otimes \ldots \otimes V_n) = \prod_{i=1}^n dim V_i$ and
$$V_1 \otimes \ldots \otimes V_n = {\cal L}(V^*_1,\ldots, V^*_n)\:.$$
(There is a property of the pair $(V_1 \otimes \ldots \otimes V_n, \otimes)$ called universality property which characterize the notion of tensor product at the level of the theory of categories,  but I do not think is necessary to describe it here.)
Let us come to the Hilbertian tensor product of Hilbert spaces. Consider a finite number of (complex) Hilbert spaces $H_1, \ldots, H_n$ with respective Hermitian scalar products 
$\langle \cdot| \cdot \rangle_1, \ldots, \langle \cdot| \cdot \rangle_n $. Relying upon the above definition, we can first define their algebraic tensor product 
$$H_1 \otimes \cdots \otimes H_n\:.$$
This is not a Hilbert space yet. However it is possible (not so easy) to prove that $H_1 \otimes \cdots \otimes H_n$ admits an Hermitian scalar product induced by the ones of each $H_i$. This scalar product $\langle \cdot| \cdot \rangle$ it is the unique right-linear and left-antilinear extension of 
$$\langle \psi_1 \otimes \cdots \otimes\psi_n| \phi_1 \otimes \cdots \otimes\phi_n\rangle 
= \prod_{i=1}^n \langle \psi_i|\phi_i\rangle_i \:.\tag 2$$
The said (anti)linear extension is necessary because $\psi_1 \otimes \cdots \otimes\psi_n$ is not the generic element of $H_1 \otimes \cdots \otimes H_n$, the generic element is a finite linear combination of these elements!
It turns out that the unique (anti)liner extension of (2) defines an Hermitian scalar product on $H_1 \otimes \cdots \otimes H_n$, in particular the extension is positively defined. 
Definition. The Hilbertian tensor product of (complex)  Hilbert spaces $H_1, \ldots, H_n$ is the (complex) Hilbert space 
$H_1 \otimes_H \cdots \otimes_H H_n$ given as the completion of the algebraic tensot product $H_1 \otimes \cdots \otimes H_n$ with respect to the Hermitian scalar product $\langle\cdot |\cdot \rangle$ which uniquely (anti)linearly extends (2).
The completion $\overline{V}$ of a vector space $V$ equipped with an Hermitian  scalar product  $\langle \cdot |\cdot \rangle$ is the complete (Hilbert) space of the equivalence classes of the Cauchy sequences in $V$ equipped with the unique continuous extension of $\langle \cdot |\cdot \rangle$. So It is uniquely defined (up to Hilbert space isomorphisms) and $V$ is dense in $\overline{V}$.
A fundamental (also in QM) result is that,
Proposition. If $\{\psi_{i,j_i}\}_{j_i\in I_j} \subset H_i$ is a Hilbert basis (even uncountable) of the Hilbert space $H_i$ then
$$\{\psi_{1,j_1} \otimes \cdots \otimes \psi_{n,j_n}\}_{j_1\in I_1, \ldots,j_n\in I_n } \subset H_1 \otimes_H \cdots \otimes_H H_n $$
is a Hilbert basis of $H_1 \otimes_H \cdots \otimes_H H_n$.
Therefore  $H_1 \otimes_H \cdots \otimes_H H_n $ is separable if each $H_i$ is separable.
A second important result, very used in QM, in case $H_i = L^2(X_i, \mu_i)$ where $\mu_i$ is $\sigma$-finite (as for the standard Lebesgue measure over $\mathbb R^n$) reads as follows.
Proposition. Assume $H_i = L^2(X_i, \mu_i)$, where $\mu_i$ is $\sigma$-finite. Then the map
$$L^2(X_1, \mu_1)\otimes_H \cdots \otimes_H L^2(X_n, \mu_n) \ni \psi_1\otimes \cdots \otimes \psi_n \mapsto \psi_1 \cdots \psi_n \in L^2(X_1\times \cdots \times X_n, \mu_1 \otimes \cdots \otimes \mu_n)$$
uniquely continuously and linearly extends to a Hilbert space isomorphism.
Above $\psi_1 \cdots \psi_n$ is the standard pointwise product 
$$\psi_1 \cdots \psi_n(x_1,\ldots,x_n) := \psi_1(x_1) \cdots \psi_n(x_n)\:.$$
N.B: I henceforth denote by $H_1 \otimes \cdots \otimes H_n$ the Hilbertian tensor product omitting the index $_H$, thus  adopting the standard notation in Quantum Mechanics textbooks.
I am now in a position I can rigorously  answer the question. 
First notice that the topological dual space $H'$ of a Hilbert space $H$, that is the subspace $H' \subset H^*$ made of continuous linear maps $f : H \to \mathbb C$ is a Hilbert space in its own right.
Indeed, the celebrated Riesz' theorem states that 
Theorem. If $H$ is a Hilbert space with scalar product $\langle \cdot | \cdot \rangle $, the map 
$$H \ni \psi \mapsto \langle \psi | \cdot \rangle \in H'$$
is anti-linear and bijective. Thus, every element $f$ of the topological dual space $H'$ is represented by $\langle \psi_f | \cdot \rangle$ with $\psi_f \in H$ uniquely determined by $f$.
Obviously $H'$ is the space of "bra" vectors shortening $\langle \psi | \cdot \rangle$ to $\langle \psi|$. 
It is clear that, in view of the stated result,  $H'$ turns out to be a Hilbert space as soon as we define the scalar product 
$$\langle f | g \rangle' := \overline{\langle \psi_f | \psi_g\rangle}\:.$$
This feature of $H'$ permits us to define the Hilbertian tensor product
$$H_1 \otimes H_2'$$ 
the elements are linear combinations (also infinite provided they converge in the natural topology of the space) of elementary tensor products 
$$\psi \otimes f = |\psi \rangle \otimes \langle \phi| = |\psi \rangle  \langle \phi|$$
where I employed also some common notations used in physics textbooks.
The difference between $|\psi \rangle \otimes |\phi \rangle$ (an element of $H_1 \otimes H_2$) and $|\psi \rangle \otimes \langle \phi|$ (an element of $H_1 \otimes H_2'$) should be now evident.
It is also clear that $|\psi \rangle \otimes \langle \phi|$ defines  a continuous operator $H_2 \to H_1$. Also infinite linear combinations of these operators, assumed to be convergent with respect to the natural scalar product on $H_1 \otimes H_2'$, define continuous linear operators $H_2 \to H_2$. These operators are compact (they transform bounded sets into compact sets) and satisfy a further property regarding the notion of trace which characterizes them as Hilbert-Schmidt operators from $H_2$ to $H_1$.
As a final remark, notice that $I = \sum_k |\psi_k \rangle \langle \psi_k|$ referred to a Hilbert basis $\{\psi_k\}_{k\in K}$ does not belong to $H_1 \otimes H_2'$ in spite of the notation if $K$ is not finite! This is because that vector has no finite norm in $H_1 \otimes H_2'$ and the convergence of the series has to be interpreted exploiting another topology, the so-called strong operator topology.
