When to pump up and down? When I'm solving a question I usually spent too much time testing whether I should pump or down? Is there any formula to know when to use which?  

Also, on proofing non context free grammar we use three pumping lemma, and one that's confused me is $|uvy| \le p$. I mean in the example given in the book I read, it is not even used. Can someone please tell on which situation this is will be useful?

Any help will be very appreciated.
To fix symbols, let us choose the decomposition $z = uvwxy$.

One of the examples where $|vwx|\le p$ comes in, is the language $L =\{ a^mb^na^mb^n\mid m,n\ge 1\}$.

Start with the "generic" string $a^pb^pa^pb^p$ where $p$ is the pumping constant. To have any chance of finding a pumping pair $v,x$ such that $uv^iwx^iy$ is within the language is by choosing $v$ in the first set of $a$'s and $x$ in the second set of $a$'s (or similarly for the $b$'s). Now the length of $vwx$ will be more than $p$ as it contains all $b$'s between the two sets of $a$'s. 

Without that restriction $L$ can be pumped, and the pumping lemma is no longer suited for proving $L$ is not context-free.