The reasoning behind variation of parameters. Let's say you have the second order equation: 
$y''+p(x)y'+q(x)y=f(x)$
And let's say you have found two solutions ($y_1$ and $y_2$) to the homogeneous equation:
$y''+p(x)y'+q(x)y=0$.
Then the method using variation of parameters says that we should try a function:
$y_p=u_1(x)y_1(x)+u_2(x)y_2(x)$.
Now my books says: Since we have two unknown functions, but we have only one requirement(that $y_p$ satisfies our differential equation), we impose one more condition annd that condition is that $u_1'y_1+u_2'y_2=0$.
But why this second condition. Is there any theory that says if you are going to find two functions, you need two conditions, and then you are ok? I mean, if I could just impose conditions as I wanted I would much rather choose that either $u_1=0$ or $u_2=0$?
 A: A general result from linear algebra says that if you have a system of linear equations, then $n$ variables require exactly $n$ linearly independent equations to solve. We can directly translate this here. One way is to imagine that we fix an $x$, in which case we truly do have two equations and two unknowns and it's a nice linear system. But to really think of it as a linear system requires a bit more work.
If you then follow the proof of variation of parameters, you would find that in fact these solutions are themselves describable for all $x$ as a unified function.
You suggest that you might use any other condition. I encourage you to try. This isn't the only way to solve this differential equation - it just happens to be a nice way to solve the differential equation.
One motivation for this additional condition is to simplify some steps. When you differentiate $y_p$, you get
$$
y'_p = u_1'y_1 + u_2'y_2 + u_1y_1' + u_2y_2'.
$$
Taking the second derivative (as if we were going to plug it into the original equation and try to solve) is a big pain. Wouldn't things be easier if we assumed that the first two terms simply vanished? Then heuristically we have two equations in two unknowns, and we might hope for a solution. (And sure enough, it works!)
A: "Is there any theory that says if you are going to find two functions, you need to[sic] conditions, and then you are ok?"
No. You do need two conditions if you want to uniquely define $u_1'$ and $u_2',$ but there are two possible things that can go wrong even if you have 2 conditions. One is that the second condition, together with the condition that $y_p$ is a solution, is too strong and there are no functions $u_1'$ and $u_2'$ satisfying both. The other is that the two conditions together are not strong enough, meaning the condition you chose was redundant, so you will need to choose another condition in order to get your $u_1'$ and $u_2'$.  By choosing the condition $u_1'y_1+u_2'y_2=0$, you get it "just right": you can find $u_1'$ and $u_2'$ and these this will be the pair of functions satisfying both conditions (then you can find $u_1$ and $u_2$ from these by integrating).  This is all linear algebra, but with functions in place of numbers (the variables are $u_1'$ and $u_2'$, the coefficients are $y_1$, $y_2$ and their derivatives).
The condition $u_1'y_1+u_2'y_2=0$ isn't the only condition that will get it just right, but it is among the simplest, and it makes the rest of the derivation simpler too (this simplicity is even more helpful in the generalization of the technique to higher order DEs).
It's not bad if $u_1'$ and $u_2'$ are not uniquely determined for some particular case, but we want a technique that will work for any non-homogeneous linear 2nd order DE when we know $y_1$ and $y_2$.  The condition $u_1'y_1+u_2'y_2=0$ gives that.
Now let's consider your preferred choice that either $u_1=0$ or $u_2=0$.  If that's the case, then $y_p=uy$ where $u$ is some real function and $y$ is either $y_1$ or $y_2$ (I'm omitting $(x)$'s to reduce visual clutter).  Then
$$y_p'=u'y+uy'$$
and
$$y_p''=u''y+2u'y'+uy''$$
Substituting these into the DE gives
$$(u''y+2u'y'+uy'')+p(u'y+uy')+quy=f$$
Equivalently,
$$(u''y+2u'y'+pu'y)+u(y''+py'+qy)=f(x)$$
So
$$yu''+2y'u'+py''u=f$$
The functions $p$ and $f$ are known, and since $y$ is known, so are $y'$ and $y''$. Thus we have a 2nd order non-homogeneous linear differential equation with dependent variable $u.$  But that is the type of DE we are trying to solve in the first place, only with a different dependent variable.  What do we do next?  (I don't know).
