Respostas:
A diferença está no fato de ./gradlewindicar que você está usando um wrapper gradle. O invólucro geralmente faz parte de um projeto e facilita a instalação do gradle. Se você estivesse usando o gradle sem o wrapper, teria que instalá-lo manualmente - por exemplo, em um mac brew install gradlee depois chamar o gradle usando o gradlecomando Nos dois casos, você está usando o gradle, mas o primeiro é mais conveniente e garante a consistência da versão em diferentes máquinas.
Cada Wrapper está vinculado a uma versão específica do Gradle; portanto, quando você executa um dos comandos acima para uma determinada versão do Gradle, ele faz o download da distribuição Gradle correspondente e a utiliza para executar a compilação.
Isso não significa apenas que você não precisa instalar o Gradle manualmente, mas também usará a versão do Gradle para a qual a compilação foi projetada. Isso torna suas construções históricas mais confiáveis
Leia mais aqui - https://docs.gradle.org/current/userguide/gradle_wrapper.html
Além disso, o Udacity possui um vídeo limpo e de alto nível que explica o conceito do wrapper gradle - https://www.youtube.com/watch?v=1aA949H-shk
gradlewé um invólucro (caractere w) usado gradle.
Sob o capô gradlewrealiza três coisas principais:
gradleversão corretagradletarefaUsando o Gradle Wrapper, podemos distribuir / compartilhar um projeto para todos, para usar a mesma versão e a funcionalidade do Gradle (compilar, construir, instalar ...), mesmo que não tenha sido instalado.
Para criar uma execução de wrapper:
gradle wrapper
Este comando gera:

gradle-wrapper.properties conterá as informações sobre a distribuição Gradle