significa che in certi casi può tornare utile ... quello che hai scritto non è sbagliato ... ma visto che 3 è già un'espressione considerata vera è forse superfluo.

Alcuni esempi
codice:
var	fakefalse = "";
alert(!!fakefalse === false);	// true, evita il controllo sulla length di stringa

fakefalse = "0";
alert(!!fakefalse === false);	// false ... la stringa non è vuota

fakefalse = 0;
alert(!!fakefalse === false);	// true, zero castato è true ricastato è false

fakefalse = 1;
alert(!!fakefalse === false);	// false ... 1 castato a booleano è false, ricastato è true

fakefalse = [];
alert(!!fakefalse === false);	// false ... 1 oggetto array castato è false anche se vuoto
				// ricastato è quindi true
				
fakefalse = {};
alert(!!fakefalse === false);	// false ... oggetto, come l'array


fakefalse = null;
alert(!!fakefalse === false);	// true

var	faketrue;
alert(!!faketrue === false);	// true, faketrue è undefined


function test(a){
	if(!!a)
		alert("faccio qualcosa");
};

test();			// non accade niente
test("");		// non accade niente
test("fai qualcosa");	// avviso faccio qualcosa