I've upvoted a couple answers that already provide many of the ingredients to the answer. I'll provide what I view as a more direct answer.
Suppose you find a dataset with observations on 2 fields: x (fertilizer) and y (yield) but you don't know exactly how this dataset was obtained. You think of Fisher's experiments and realize that this is probably experimental data where x (amount of fertilizer) was set by the experimenter and after some time the corresponding y (crop yield) was measured. You want to fit the model $y=\beta_0+\beta_1x+\epsilon$.
What would it mean for you to treat x as non-random/fixed?
To treat x as non-random means to assume that the x was set by the experimenter in the precise sense that:
- $E(\epsilon|x)=E(\epsilon)$
- $Var(\epsilon|x)=Var(\epsilon)$
This is what most textbooks mean by a non-random regressor. Not only is x under the experimenter's control but it has been set in a particular way. For example, if the experimenter randomly pulled fertilizer amounts out of a hat, that would meet the above conditions. On the other hand, if the experimenter set fertilizer amounts as a function of plot quality, this would not meet the above conditions.
In this setting we would assume $E(\epsilon)=0$ and $Var(\epsilon)=\sigma^2$.
What would it mean for you to treat x as random?
To treat x as random means to assume that this is observational data where the x was merely observed and not set, which really says that we do not know the probability distribution of x.
In this setting we would assume $E(\epsilon|x)=0$ and $Var(\epsilon|x)=\sigma^2$.
Is there any other thing we could assume?
We could assume that x was set by the experimenter in a way that violated one of the above 2 conditions. This is still a non-random regressor in the dictionary sense as Var(x)=0 but this is in conflict with what textbooks mean by "non-random regressor". If the experimenter set fertilizer amounts as a function of plot quality then $E(\epsilon|x)\not=E(\epsilon)$ and even if we further assume that $E(\epsilon)=0$, note that $E(y|x)=\beta_0+\beta_1x+E(\epsilon|x)\not= \beta_0+\beta_1x+E(\epsilon)=\beta_0+\beta_1x$.