En que CHAR es de valor fijo, o sea, si solo metes un caracter, se desperdicia 255 caracteres.
Con VARCHAR es variable, si metes solo un caracter, genera un espacio de 1 y NO de 255.
En la página de MySQL te lo explican MUY CLARO y además, podes bajar el manual.
11.4.1. The CHAR and VARCHAR Types