As hixxy was pointing out, $eval() will go through the contents and evaluate it to the amount of times you specify.
So if you specify $eval(<text>,0) nothing in $eval() will be evalauated.
If you specify $eval(<text>,1) it will be evaluated once. If you specify $eval(<text>,2) it will be evaluated twice.
As a decent example, in your editbox, you can type (With just ONE backslash):
Let's say your nick is "Peachy"
/set %mynick $me
Then type: //echo -a %mynick
This is only evaluating "%mynick" once, so you will see "$me" as the echo.
Typing: //echo -a $eval(%mynick,0) : will not evaluate %mynick at all, so the only thing echo'ed is "%mynick"
Typing: //echo -a $eval(%mynick,1) : will echo "$me" because it only evaluates the variable, and not what is inside the variable.
Typing: //echo -a $eval(%mynick,2) : will echo "Peachy" because it evaluates %mynick, which is $me, and then evaluates a second time, which turns $me into your nick "Peachy".