As with anything mass produced, some parts sometimes fall short of specs, and sometimes they can slip through QC. SD cards can also go bad depending on many times they have been written to, though since it's only 6 months old, I doubt that's the issue here.
I've read that filling the card with all zero's can help recover a failing card. In Linux, the command to do this is 'dd if=/dev/zero of=/dev/<device name'. Not sure offhand what utilities will help you do this in Windows.