Why does a null-hypothesis have to have a definite value? In hypothesis testing, why does the null hypothesis (H_0) have to have one defined value?
 A: You need to know what you're testing at the outset.  Then you can tailor your data collection to test that hypothesis.
After collecting and analyzing your data, you either succeed in rejecting the null hypothesis (which suggests that your null hypothesis was false), or fail to reject it (which doesn't really tell you anything).
But if the first time fails to reject the null hypothesis, and you say, "Oops, I was too aggressive.  Let me test it with this value.  Yay, it works!", then that looks a bit questionable, because you're biasing things.
Is this the answer you were after?
A: A crucial function of the null hypothesis is to provide a means
to compute a specific 'null distribution' to be used in deciding
whether to reject. 
For example, if you are working with a parametric family, such as normal
distributions with mean $\mu$ and standard deviation $\sigma,$
then somehow you need to know specific values of $\mu$ and
$\sigma$. If your null hypothesis involves location, then
the expression for $H_0$ must contain an $=$-sign (possibly
as part of $\le$ or $\ge$) giving the value of $\mu$ (often
called $\mu_0$) for
the null distribution. Often $\sigma$ is stated as known.
Then the z statistic is $Z = \frac{\bar X - \mu_0}{\sigma/\sqrt{n}}.$
If $\sigma$ is unknown, then you will use a t distribution and
use $S$ to estimate $\sigma.$ But you still need a value $\mu_0$
to use in $T = \frac{\bar X - \mu_0}{S/\sqrt{n}}.$
