Merhabalar,

"name" tag'i her zaman elzem değildir. (AJAX veri yollama senaryoları)

Keza eğer ki "input" tag'i "form" tag'i içerisinde değilse "name" kullanımının hiçbir anlamı yoktur.

"name" tag'inin işe yaradığı senaryolar:

1) "form" tag'i içerisinde kullanımında veri gönderiminde veriler sunucuya $_GET||POST["name"] olarak gider (PHP için). Ve sunucu tarafında da işlenebilir hale gelir.
2) AJAX senaryolarında input değerini almak için 2 yol vardır.

a) input'a spesifik bir class ya da ID değeri atanır ve bu değer javascript ile document.querySelector(".||#id_ya_da_class").value ; ile alınıp; AJAX ile iletilir. Name tag'i kullanımı anlamsızdır.
b) input form tag'i içerisinde kullanılmıştır. Ve tüm form içindeki input verilerini tek tek almak yerine; form belirteci (class adı ya da ID'si) üzerinden .serialize(); fonksiyonu kullanılır. Bu, serialize() kullanılmış form üzerindeki tüm inputların değelerini alır ve "name" değerleri ile sunucuya yollar. En temiz yol da genelde budur.

Kısacası;

Kullanımı her senaryoda elzem değildir, spesifik senaryolarda gereksizdir.