Diffusion happens in a compressed space rather than on pixels, because denoising a full-resolution image directly would be prohibitively expensive. The VAE is the pair of translators at either end of that.
It is invisible when it works and unmistakable when it does not. Mushy fine texture, smeared small text, and a particular soft blotchiness in dark gradients are usually decode artefacts rather than failures of the generation itself.
This is why upscaling sometimes rescues an image that looked broken: the structure was correct and the decode was losing it.
Why does fine detail look mushy in generated images?
Often it is the decode rather than the generation. Detail is lost compressing into and out of latent space, which is why fine texture and small text suffer most.
Can that be fixed after the fact?
Sometimes, with a good upscale, if the underlying structure is right. If the structure is wrong, upscaling makes a larger wrong image.
