Both, so it depends on the context you use it.
- Mi perra está enferma y la he llevado al veterinario
- Carlos es un hijo de perra. No quiero volver a verlo más
Anyway, in Spain we use the word 'zorra' (lit. 'vixen') as equivalent to 'bitch':
- Kim Kardashian es una zorra que vive de los medios y de su cuerpo