Difference between [condition] and [[condition]] and ((condition)) when used with if condition

Executed the following if conditions .. and got different results .

only (( )) gave correct o/p with all scenarios .

Can anybody please let me know what is the difference between [condition] and [[condition]] and ((condition)) when used with if condition.

And why each condition gave different result.

if [ 234 > 71 ];then
echo "correct"
else
echo "wrong"
fi

O/p : correct

$if [[ 234 > 71 ]];then
echo "correct"
else
echo "wrong"
fi

o/p : wrong

if [[ 234 > 700 ]];then
echo "correct"
else
echo "wrong"
fi

o/p : wrong

if [ 234 > 700 ];then
echo "correct"
else
echo "wrong"
fi

o/p : correct

$if (( 234 > 700 ));then
echo "correct"
else
echo "wrong"
fi

o/p : wrong

if (( 234 > 71 ));then
echo "correct"
else
echo "wrong"
fi

o/p : correct

inside [] or [[]] use -gt/-eq/-lt/etc... [[]] might be safe because it's built into the shell but you should use the proper operators.

inside (()) values will be treated as numeric. see also let

also - please use CODE tags around the logic.

Within "man sh-posix" see the section on "Conditonal Expressions" for the explanation of conditions within [] .
See "man test" for an explanation of "Test" within .
Though there is some common syntax between a "Conditional Expression" and a "Test" there is also much syntax which is exclusive. For example the AND and OR operators are quite different.
As far as I know, there is no ">" operator.

I have never found use for (( )) as an Arithmetic Test and cannot comment. Others may have seen it used.

BEWARE. The ">" sign you are using is not valid syntax. Your test scripts may not be doing what you expect.

The above script creates a FILE called "71" and the "if" test is "true" because this process worked.
Suggest you check all your examples for this problem and check the directory list after each try!