Quando guardi una struttura (X)HTML devi sforzarti di togliere dalla mente la sua relativa trasposizione visiva sullo schermo. (X)HTML serve semplicemente a strutturare e a descrivere i dati del documento.

Prendiamo un input checkbox qualsiasi. Se lo vediamo su uno schermo intuiremo la sua funzione guardando il testo presente alla sua sinistra o a alla sua destra, giusto? Bene. Siccome a livello di mark-up la 'prossimità spaziale' non è sufficiente a creare una relazione, ci aiutiamo con il marcatore <label>.

codice:
<input id="prioritaria" name="prioritaria" type="checkbox" value="prioritaria" />
<label for="prioritaria">Spedisci con posta prioritaria</label>
Gli attributi id e for sono quelli che permettono di 'legare' il testo al suo input.

Quindi è necessario a livello logico.