The primary reason that there are so many cats in animal shelters is that people do not spay or neuter their cats and let them breed, which creates an exponential rise in population numbers and leads to too many cats for the amount of available homes. Intact cats are often allowed outside and each female cat can produce two litters a year.
Many areas have a feral cat population that is made up of cats that are not socialized to humans and fend for themselves. People may locate kittens produced by feral cats and bring them into animal shelters, or they may trap injured or nuisance feral cats. Pet cats that are allowed outdoors also sometimes get lost and brought to the animal shelter as strays, and they are less likely to be microchipped than stray dogs so they often are not reunited with their owners.
Cats are also often perceived as less valuable than dogs are, which makes people more likely to take them to the animal shelter if the cat develops behavioral problems or becomes an inconvenience. Many people also buy kittens on impulse, either from people with accidental litters or from pet stores. This leads to situations where the kitten grows up and the family no longer wants it, then either abandons it outside or surrenders it to the animal shelter.