puppy - используется как определение для детеныша псовых, а вот pup может использоваться для остальных животных, но нередко переводится как щенок из-за чего идет путаница. можно сказать pup по отношению к weasel, hyena, shark, rats, meerkats и т.д. К собакам тоже можно использовать pup, даже иногда может быть такой смысл, что pup - обычное слово, а puppy - ласкательное (т.е. щенок-щеночек)