The () parentheses are meant to allow you to control the order of operations within the comparison. Example:

if (%a && %b || %c) { ;commands }

if (%a && (%b || %c)) { ;commands }

if ((%a && %b) || %c) { ;commands }

In the first statement, the comparison will be evaluated in whatever priority mIRC uses (|| usually has lower priority than &&). In the second and third statements, you can see in exactly what order they will be evaluated mIRC (the || vs && priority is overridden by the parentheses).

As for the correctness, I always use at least one set of () in my if/while statements. I find it easier to follow the code that way. I also do this because I don't use the {} brackets when there is only one /command after it.

if (%a == a) echo -a a

if (%b == b) {
echo -a b
echo -a bb
}

-genius_at_work