What is the motivation behind the definition of pseudorandom in Nisan/Wigderson? I am reading the classic "Hardness vs Randomness" by Nisan and Wigderson.  Let $B=\{0,1\}$, and fix a function $l\colon \mathbb{N} \to \mathbb{N}$.  They define a family of functions $G = \{G_n : B^{l(n)} \to B^n\}$ to be pseudorandom in case for every circuit of size $n$ we have

$(*) \ \ | P(C(x) = 1) - P(C(G(y))=1) | &lt; 1/n$

(where $x \in B^{n},y \in B^{l(n)}$ are uniform random variables).

I understand that I am to think of $x$ and $y$ as random variables, and that I want to compare the distance between $x$ and $G(y)$ as random variables.  I get the intuition that circuits are being used as sort of "tests" in to see if $G$ can be "figured out."  What I am really struggling with is why the condition $(*)$ is the right one.  Does anyone have any advice on how to think of this definition?
There are two aspect that need to be mentioned.  

The first is the general idea of defining a PRG by having its output look different than uniform to small circuits. This idea goes back to Yao and is really the strongest possible definition you can ask for when aiming explicitly at pseudo-randomness for computationally-bounded observers.  

The second aspect is the choice of parameters where we limit the circuit size to be $n$ and the acceptance probability difference to be $1/n$, where $n$ is also the PRG output size. This choice is somewhat different than the usual crypto one where the circuit size is $poly(n)$ and the probability difference is required to be smaller than any $poly(n)$.  In our case specific parameters (rather than $poly(n)$) were needed as to get the tightest results including, in particular polynomial simulations.  While in principle one could have 3 different parameters, it turned out that our results had these working essentially in the same way so we folded them to a single one (in addition to the input size $l(n)$ which was viewed as a function of $n$).