There are some subtle differences though:
#!/bin/bash
eg=whatever
if [ $eg == what* ]; then # file glob test
echo '[]'
fi
if [[ $eg == what* ]]; then # pattern match test
echo "[[]]"
fi
Unless there is a file called "whatever" in the current directory, the first test will not pass, because the match is against a file glob of the current directory contents, whereas the second one is an actual string pattern match.