This is becoming a popular alternative to spaying here in Brazil, with spaying being so expensive and the contraceptive shot being so cheap. It's R$120 - 300 to spay (US$60 - 171...mind you the monthly income for minimum wage here is $300 reais), whereas the shot is merely R$7 (US$3.99). The thing is, if you give them the shot when they are in heat or close to it, they can get a deadly infection of the uterus. In the city that I live, there is a program where you can spay or castrate your cats for $30 reais, about $17 US. They only charge for the anesthesia. Still, for most people that is too expensive and they just let their cats run loose.
If it is at all possible, I would spay. I don't think that the shot is worth the risk.