A.
Well, you know cat, obviously. Per the first sense in the OED,
A well-known carnivorous quadruped (Felis domesticus) which has long been domesticated, being kept to destroy mice, and as a house pet.
It has an uncertain origin somewhere in Europe before the 1st century AD and shows up in Greek, Latin, and Old English. In the past, it could specifically indicate the male cat but that's gone by the wayside. It's worth mentioning that it can include the big cats who fill out the rest of the genus Felis.
Puss (and earlier attested puss-cat)
A conventional proper or pet name for a cat, frequently (sometimes reduplicated) used as a call to attract its attention.
seem to have spread through the Germanic languages as an onomatopoeic pet name equivalent to what we'd now write as something like psst.
Pussy, the basic English diminutive for “puss,” shows up a century earlier as a way to refer to cat-like girls and girl-like men before being used
nursery and colloquial. A cat. Frequently used as a proper or pet name.
B.
There are loads of associations with the words, not all of which overlap. It's somewhat natural that people might assume “pussy” is a term for a female cat, given its affectionate diminutive nature and its (now much more common) use for female anatomy.
Really, though, the main difference is that “puss” and “pussy” are more childish, affectionate, and diminutive and more likely to be used as an unironic name or pet name.
The actual terms for a male cat listed by the OED are “he-cat,” “gib-cat,” “boar-cat,” and “ram-cat,” apart from the now more common tom or tomcat. For females, you've got “she-cat” and “doe-cat,” although Mr Random above says “queen” sees more use now.