When the execution bit is set, you telling the system that the file is executable.
It can be some elf(bin asm) file or it can be a script file. If it's a script file the system don't know what interpreter it should run.
So you need to tell the system what interpreter it should run.
You telling that in the first line, and that is also know as the shebang line.
You can see that line in lots of script languages, like in bash script.
Lets make an example.
First make this file.
nano test
#!/usr/bin/bash
echo "Hello World!"
Then you have to tell the system that the file is executable, you do that with the chmod command.
Like this:
chmod u+x test
Then you can test if it works with just the line
./test
The system loads the script and execute the first line program, and feeds the rest of the script to the interpreter in this case it's bash.
Why you have to add "./", that is just for telling the command interpreter that you trying to execute some file from your current directory.
You don't use the extension of the file to tell the system what interpreter to use. (like in Windows)
You just add the shebang line. And add the executing bit to the file.
You don't need to tell what interpreter to use when calling the script in the command line. You have provided that in the script.
And the filename can be what ever you like.
Unix don't use the filename extension of the file to determine what to do.