Why is the tensor product important when we already have direct and semidirect products? Can anyone explain me as to why Tensor Products are important, and what makes Mathematician's to define them in such a manner. We already have Direct Product, Semi-direct products, so after all why do we need Tensor Product?
The Definition of Tensor Product at Planet Math is confusing.
Definition:  Let $R$ be a commutative ring, and let $A,
B$ be $R$-modules. There exists an $R$-module $A\otimes B$, called the
tensor product of $A$ and $B$ over $R$, together with a canonical
bilinear homomorphism
$$\otimes: A\times B\rightarrow A\otimes B,$$
distinguished, up to isomorphism, by the following universal
property.
Every bilinear $R$-module homomorphism
$$\phi: A\times B\rightarrow C,$$
lifts to a unique $R$-module homomorphism
$$\tilde{\phi}: A\otimes B\rightarrow C,$$
such that
$$\phi(a,b) = \tilde{\phi}(a\otimes b)$$
for all $a\in A,\; b\in B.$ 
The tensor product $A\otimes B$ can be constructed by taking the free
$R$-module generated by all formal symbols
$$a\otimes b,\quad a\in A,\;b\in B,$$
and quotienting by the obvious bilinear relations:
\begin{align*}
 (a_1+a_2)\otimes b &= a_1\otimes b + a_2\otimes b,\quad &&a_1,a_2\in
 A,\; b\in B \\
 a\otimes(b_1+b_2) &= a\otimes b_1 + a\otimes b_2,\quad &&a\in A,\;b_1,b_2\in
 B \\
 r(a\otimes b) &= (ra)\otimes b= a\otimes (rb)\quad &&a\in A,\;b\in
 B,\; r\in R
\end{align*}
Also what do is the meaning of this statement:(Why do we need this?)


*

*Every bilinear $R$-module homomorphism
$$\phi: A\times B\rightarrow C,$$
lifts to a unique $R$-module homomorphism
$$\tilde{\phi}: A\otimes B\rightarrow C,$$
such that
$$\phi(a,b) = \tilde{\phi}(a\otimes b)$$
for all $a\in A,\; b\in B.$


Me and my friends have planned to study this topic today. So i hope i am not wrong in asking such questions.
 A: The tensor product is the categorization of the multiplication in rings, so you can now multiply objects (vector spaces, rings, algebras, etc), and it is "linear" in each of the term.
Suppose for example you have an algebra over a ring, say $M_n(\mathbb{Z})$ the matrices with integer entries (the ring is the integers), but you want to be able to multiply these matrices with polynomials from $\mathbb{Q}[x]$. So you can define formally a multiplication of a polynomial f with matrix A by (f,A).
Now you want several nice properties you are used to when multiplying, meaning, it is linear in each of the terms (distributivity)
$$ (f+g,A)=(f,A)+(g,A) $$
$$ (f,A+B)=(f,A)+(f,B) $$
Taking the tensor product gives you these properties among others.
(actually, a multiplication in a ring $R$ is a function $\mu: R\otimes R \rightarrow R$ that satisfies associativity - $\mu (1\otimes \mu)= \mu (\mu \otimes 1)$)
If for example you start with a vector space $V$ over a field $F$ and you tensor it with a field $K$ which is an extension of $F$, then you get a new vector field $K \otimes V$, but over the bigger field $K$ and with the same dimension(and the multiplication is $\alpha(\beta \otimes v)= (\alpha \beta \otimes v)$. This operation is called extension of scalars.
Of course there are other reasons why tensor product is important, but I think that this is a good place to start.
A: There are literally dozens of independent reasons to invent the tensor product, and just about every area of mathematics needs the tensor product for its own reasons (often several reasons).  Here are a couple examples.


*

*Suppose $X$ and $Y$ are topological spaces (metric spaces are fine if you like them better) and consider the rings $C(X)$ and $C(Y)$ of continuous real-valued functions.  If you are convinced that products are worthy of consideration, then perhaps you are convinced that it is useful to look at $C(X \times Y)$.  It is natural to ask if this can be expressed in terms of $C(X)$ and $C(Y)$; the answer (modulo largely irrelevant technical details) is that $C(X \times Y) = C(X) \otimes C(Y)$.

*Let $V$ be a vector space over $\mathbb{R}$.  It is often desirable to construct a complex vector space naturally associated to $V$ (the "complexificiation" of $V$).  Here by "naturally" I mean in a way which is coordinate free and transparently compatible with linear maps.  The solution is to set $V_{\mathbb{C}} = V \otimes \mathbb{C}$ (tensor product over $\mathbb{R}$).  This is a special case of the more general phenomenon of "extension of scalars". As a fancy example demonstrating that this really is as useful as I claim, you might check out the wikipedia page on "pontryagin classes" (though it might be over your head if you haven't learned much algebraic topology).

*One of the reasons why direct sums are important is that they let you turn strange objects into groups.  For example, if $G$ is a group and $V$ and $W$ are two representations of $G$ (vector spaces on which $G$ acts nicely), then $V \oplus W$ is also a representation of $G$.  So the set of all representations of $G$ has an additive structure, and with a little algebraic magic one can upgrade this structure to a group (don't spend too much time worrying about how you subtract representations).  Groups are nice and have lots of their own invariants, but rings are even nicer and have even more invariants.  So it would be great if we could define a natural product of representations.  You guessed it: the product of $V$ and $W$ is just $V \otimes W$.  The set of all representations of $G$ with this structure is the infamous "representation ring" of $G$.  This product structure is apparently of paramount importance in quantum mechanics (I don't know why).  As another example where the tensor product turns a group into a ring, you might check out the Wikipedia page on "topological K-theory".
There are many more examples.  If you know about functional analysis, the Schwartz kernel theorem is a tool used to investigate existence questions and regularity properties of partial differential equations, and it can be formulated purely in terms of Grothendeick's theory of topological tensor products.  I can't give you any deep reason why the same algebraic gadget has such a diverse array of applications, but I guess that's the way it is.  You'll undoubtedly learn more as you keep studying math.
ADDED:
I just noticed the other part of your question, in which you ask about the "lifting" property of the tensor product.  If I were forced to give a one sentence explanation of what the tensor product really is, it would be the following sentence.  Given two $R$-modules $A$ and $B$, we want to convert $R$-bilinear maps on $A \times B$ into linear maps on some other object.  We want to do this because for many purposes it reduces the structure theory of bilinear maps to the (extensive!) structure theory for linear maps.  The lifting property that you describe tells us that the tensor product does the job.
But it more than just "does the job" — it does the job in the absolute best way possible.  When you learn about most mathematical objects, such as the direct sum of two vector spaces, it is typical to define the object as some set equipped with some structure and then prove that it has certain nice properties.  With the tensor product, you should go about it backwards: you should think of the tensor product as an object with certain nice properties and then prove that there actually is an object with all of those properties.  This is because the actual construction of the tensor product of two modules is completely unenlightening and completely irrelevant to how you actually use the idea in practice.
I'll be a little less vague and outline how the tensor product should be developed from scratch.  Given two $R$-modules $A$ and $B$, define a tensor product of $A$ and $B$ to be a pair $T, t$ where $T$ is a $R$-module and $t: A \times B \to T$ is a bilinear map with the property that given any bilinear map $Q: A \times B \to C$ there exists a unique linear map $L: T \to C$ such that $Q = L \circ t$.
Lemma 1: If the tensor product exists, it is unique up to unique isomorphism.
Lemma 2: The tensor product exists.
A: Tensor products are useful because of two reasons:


*

*they allow you to study certain non linear maps (bilinear maps) by transforming them first into linear ones, to which you can apply linear algebra;

*they allow you to change the ring over which a module is defined.


There are many, many ways in which these two abilities show up in nature.
A: I won't try to convince you of anything with the following, I just think this reason should be recorded. It is the right "product" in the category of Rings. It gives you the right symmetric monoidal structure. Essentially, it is important and useful because it actually is what we should be thinking about. The reasons essentially involve the universal property it has that is mentioned above: a linear map out of a tensor product is a multilinear map out of the cartesian product, and when doing algebra this is what we should be concerning ourselves with.
Please note the comment of elgeorges below, the tensor product is the categorical coproduct in the category of Commutative Rings, hence my use of quotation marks.
A: We define tensor products for the same reason we define any other abstract mathematical structure: it's a structure that shows up a lot in mathematics, so it's worth having a name for.  I don't see why this reason applies any less to tensor products than to direct sums.  As the Wikipedia article says,

Tensor products are important in areas of abstract algebra, homological algebra, algebraic topology and algebraic geometry

and tensor products of vector spaces are also important in differential geometry and physics.  I think it is better to learn about these applications thoroughly than to have someone attempt to summarize them.  
Tim Gowers has written a short introduction to tensor products here, but it does not, in my opinion, give a good sense of the wide range of applicability of this notion.
A: All it's saying is that we have a special operator that takes the two spaces A and B and gives us a new space C' ($A \otimes B$). And that every homomorphism from A x B to C gives us another homomorphism from C' to C, it is unique, and it's very nice because calculations in C' correspond to calculations in C.
This is the common generalization of mappings. What it does is let us construct a sort of special space, C' that directly relates in a unique way to C. 
http://en.wikipedia.org/wiki/Tensor_product_of_modules
See the first diagram. Note how similar it is to many other diagrams found in group theory such as from quotient spaces. What is different is that we are working on Cartesian products. In some sense you can think of the tensor product as reducing the Cartesian product of a space to a new space that has a direct relation to the old. This is useful in that the new space may be isomorphic to a simpler space and/or features of the new space can be used to explore features of the old space. 
See also: http://www.dpmms.cam.ac.uk/~wtg10/tensors3.html
A: Let $R$ be a ring.
We suppose $R$ is a commutative ring just for simplicity.
Let Mod($R$) be the category of $R$-modules.
Let $F$ be an $R$-module.
By assigning Hom($F, X$) for each $R$-module $X$ we get a functor $T_F$:Mod($R$) $\to$ Mod($R$).
Suppose there exists a left adjoint functor $S_F$ of $T_F$.
Then there exists a functorial isomorphism:
Hom($S_F(E), X) \cong$ Hom($E, T_F(X)$) for $E, X \in$ Mod($R$).
In fact, $S_F(E) = E\otimes F$ satisfies this condition.
In other words, $-\otimes F$ is a left adjoint functor of Hom($F, -$).
EDIT[Aug 26, 2012]
In short, tensor products are important because they are (sort of) duals of Hom functors.
A: The reason for defining tensor products of $R$-modules (or of vector spaces) is the same as the same as that of defining products of sets.  We do the latter in high school, probably without realizing what we are doing.  If we have an expression $E[x,y]$ with two variables, we say that we can make it into a "function of two variables" $f(x,y) = E[x,y]$.  What that means is that for any particular value of $x$, say $x_0$, $E[x_0,y]$ is a function of $y$ and, for any particular value $y = y_0$, $E[x,y_0]$ is a function of $x$.  If $x$ and $y$ range over sets $A$ and $B$ respectively, and $E[x,y]$ is in $C$, we might right the type of this "function of two variables" as $f : A, B \to C$.  But such "functions of two variables" are quite inconvenient to work with.  So, we invent a set called $A \times B$, whose elements are ordered pairs like $(x,y)$ and has this property:


*

*functions of two variables $A,B \to C$ are one-to-one with functions of type $A \times B \to C$
Then we never have to write strange types like "$A,B \to C$".  "Functions of two variables" are now the same thing as ordinary functions $A \times B \to C$.
The same idea applied to $R$-modules leads to tensor products.  If you have an expression $E[x,y]$ that is linear in $x$ and $y$ separately, i.e., for any fixed value $x = x_0$, $E[x_0, y]$ is linear in $y$ and, for any fixed value $y = y_0$, $E[x, y_0]$ is linear in $x$,  then we have a "bilinear function" of two variables $A, B \to C$.  In the same way as we did for sets, we invent an $R$-module called $A \otimes_R B$, which has this property:


*

*bilinear functions $A, B \to C$ are one-to-one with linear functions $A \otimes_R B \to C$.


The Planet Math definition is saying exactly this except that it is using the notation "$A \times B \to C$" instead of my strange notation "$A, B \to C$", and it is telling you what kind of one-to-one correspondence we are looking for: "for every $\phi: A, B \to C$ there is a unique $\tilde{\phi} : A \otimes_R B \to C$ such that ...".
I avoided using the notation "$A \times B \to C$" because it is highly misleading.  What is meant by $A \times B$ here?  $A$ and $B$ are $R$-modules, which have a notion of product.  Is that what $A \times B$ means?  Not really. If you take the $R$-module $A \times B$ and look at linear maps from there to $C$, you don't get bilinear maps (maps that are linear in $A$ and $B$ independently).  I will let you think about why such misleading notation is used (almost universally in mathematics).  But if you try to type that kind of thing into an automated theorem prover, which requires you to be precise about what you write, you won't get away with it.
(The strange notation "$A,B \to C$" that I have used actually comes from a well-studied system of multicategories in Category Theory.  Even though it is inconvenient to use, it is sometimes necessary because the tensor products in some branches of mathematics may be even more inconvenient to use.)
A: What helped me see the charm of Tensor Products is the following: calculate Z/100Z ⊗ Z/101Z. Direct Product is a solution for one universal problem. Tensor Products is a solution for another one.
A: The direct product, intuitively, allows you to increase the dimension of a space: in particular it effectively "adds the axes" of the two vector spaces together. If you have $\mathbb{R}^n$ and $\mathbb{R}^m$, both of which are respectively the Euclidean spaces of dimensions $n$ and $m$, their direct product lets you put the coordinate axes of one "orthogonal to" those of the other to form the higher, $m + n$-dimensional space.
The tensor product, intuitively, lets you get the space of tensors that will combine elements from the two spaces. A tensor is just a bilinear map $T$ that takes in one vector from each space and outputs a scalar. Such maps are very useful in a number of settings, including in theoretical physics, with things like Einstein's general theory of relativity, but also even in classical mechanics where the moment of inertia tensor and the stress tensor in a solid are two important examples (indeed the latter is, I believe, where the term "tensor" was first created - think "tension" - a tensor is something that tenses, or describes tension. Tension needs to be described by a linear map, because it can vary depending on direction.).
Tensors can be represented as matrices when you fix a basis. In particular, if you have spaces $V$ and $W$ of finite dimension $n$ and $m$ respectively over a field $F$, then the tensors
$$T: V \times W \mapsto F$$
can be represented as $n \times m$ matrices $\mathbf{T}$, so that
$$T(\mathbf{v}, \mathbf{w}) = \mathbf{v}^T \mathbf{T} \mathbf{w}$$.
From this you derive the usual transformation properties. In particular, with the standard basis, the tensor product $\mathbb{R}^n \otimes \mathbb{R}^m$ is effectively just the space of matrices of size $n \times m$. The more complex definitions of tensor product you cite are ways to define this in a manner that is independent of a specific choice of basis. Moreover, the above definition is a bit restricted in that you can interpret $\mathbf{v}^T$ as input and that is effectively a different kind of tensor. Both tensors are represented the same way as matrix products, but the choice of "what goes in" has important effects - it is from this that you get the notion of "covariant" and "contravariant" indices and "raising and lowering" and all that good tensor/differential geometry stuff.

The objects of (multi-)linear algebra are "cutely" represented in terms of little arrays of numbers that you can arrange and operate on in various ways, yet what is not quite so appreciated at first is that each one is a "cute" way of representing something deeper, which also applies even when the usual "array" representation does not, i.e. when you get to infinite dimensionalities, for example:


*

*A column vector is just a vector; an element of a vector space.

*A row vector is a covector, an element of the dual space of the vector space and a linear functional (map that eats a vector and outputs another vector).

*A matrix can represent either a linear transformation or a tensor; and how it relates in the latter case depends on what you consider the inputs.

*The direct product means stacking column vectors on top of each other,

*the tensor product means making matrices out of them sitting in an L-shape and then projecting their fill into the space in between.


Yet they all play so nicely together that we can easily represent them with such arrays, provided we have a basis. Things get more subtle when we want to talk about them in basis-free manner, e.g. how would you construct the space of all linear maps when you don't have a basis since you can't write matrices? That is effectively what the construction of tensor product does for the tensorial case.
