A ver... depende mucho de lo que quieras:
- Quieres simplemente que tu página funcione?
- Quieres hacer un HTML correcto?
Si solo te preocupa que tu página funcione podríamos decir que necesariamente no sería obligatorio colocar los valores de los atributos entre comillas. En este sentido cabría decir que las comillas son absolutamente necesarias cuando el valor del atributo contiene espacios. Por ejemplo:
<img src="perro.jpg" alt="imagen de mi perro">
El atributo alt anterior estaría obligado a ponerse entre comillas. Si no tuviéramos unas comillas el valor del atributo sería simplemente la palabra imagen y el resto del valor que está después del espacio sería ignorado por el navegador que lo leyese.
Sin embargo siempre es aconsejable poner las comillas dobles en los atributos, ya que el HTML sintácticamente correcto deberían tener los valores de los atributos siempre entrecomillados.
Aparte de que sea más correcto escribir los valores entrecomillados, otros lenguajes más estrictos como XML sí que requieren los valores con comillas. En HTML se intentó hacerlo más rígido con XHTML, pero al final no se acogió de manera unánime el estándar, por lo que los navegadores siguen aceptando que no coloques comillas y te entenderán.
La recomendación sería usar las comillas siempre, así tendremos páginas más correctas y adaptadas a un posible futuro, si es que algún día cambian los navegadores y requieren que los atributos tengan comillas.