What is the difference between 狗 and 犬
狗 is the modern Chinese word for "dog". 犬 was used with the same meaning in Classical Chinese (the language of about 2,000 years ago). Today, this ancient meaning survives in many compound words (words with two or more characters), such as 警犬 "police dog" and 猎犬 "hunting dog". But 犬 can no longer be used independently; it ONLY appears in compound words. Lots of other Chinese characters work this way; meaning is useful as a mnemonic, but they can only be used in compounds.
犬 is kind of an ancient way to refer to dogs, so it might appear more on some phrase or connect with other characters to say something relating to dogs. ex. 鬥牛犬(bulldog)、牧羊犬(Shepherd dog). We can't replace the word 狗 here.
An old saying 「虎父無犬子」(A tiger father will not have a dog son. It means since that the father is so strong or excellent, his son may not be too bad.) It means ”dog“ but we don't use 狗 here。 In modern Chinese, we say 小狗（小型犬）、大型犬 to refer those small or big dogs (in general), so I would say it just depends on the situation. 貴賓狗(Poodle Dog)