Eles não mudam de tamanho.
Se uma falha se desenvolver durante o uso, geralmente é tudo ou nada e todo o cartão se torna inutilizável. O controlador on-board simplesmente não tem o poder da CPU para fazer algo inteligente nesse caso.
Mas os fornecedores podem (e irão) ter alguma liberdade com a forma como definem o tamanho.
É extremamente raro que um cartão de 8 GB tenha exatamente 8000000000 bytes.
Mesmo 2 cartões idênticos (mesmo modelo) do mesmo fornecedor podem ter tamanhos ligeiramente diferentes se vierem de diferentes tiragens de produção. Tudo depende do (s) flash-chip (s) exato (s) usado (e isso varia muito).
Também é possível que, durante a produção, parte da memória flash tenha sido determinada com falhas / inutilizável e mapeada, tornando o tamanho efetivo um pouco menor do que o esperado. Se uma grande parte é inutilizável, também não é inédito re-marcá-la como um dispositivo de meio tamanho. (Por exemplo, consiga 40% de chip flash de 16 GB defeituoso e transforme a metade boa em um chip de 8 GB.)
Desde que o tamanho real não seja inferior a 95% do que a capacidade esperada escrita na embalagem, ninguém se importa.
Na minha mesa agora tenho 2 sticks USB idênticos de 16 GB. Um é de 15,7 GB de acordo com o Windows e o outro é de 15,8 GB. Quando olho para as informações do dispositivo USB, ambos se apresentam como exatamente o mesmo hardware para o Windows, apenas números de série e tamanhos diferentes.