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 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!)
