De acordo com a documentação da Oracle , ao converter uma string que indica binário como "10" colocando o seu radix como 2, ou seja binário, estamos passando no código a seguinte situação, pegue da string "10" um binário, com o radix 2, e me passe um inteiro, ou seja decimal, então o binário 10 = 2 em decimal.
1 x 2^1 + 0 x 2^0 = 2
No radix podemos passar o hexadecimal 16, decimal 10, octa 8 e 2 pra binário. Se a string não representar o que é indicado no radix ele joga um exception.
parseInt("99", 8) throws a NumberFormatException
nesse caso o 99 é decimal e não octa.
https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String,%20int)