Not quite.
(1) and (3) are similar in that they are generalised statements.
A possible difference between them may depend on their usage.
(1) can be used for counting e.g. "A dog has four legs, Two dogs have eight legs, .."
(3) can't be used for counting e.g. "Dogs have four legs, Two dogs have more than eight legs, .. (X)"
(2) on the other hand, is specific to the 'dog' that the speaker is referring to.
In "The dog is a faithful animal", the reader feels that the speaker is referring to a particular dog that is present in the pooled knowledge between the speaker and the reader (one that is established through speaker's speech/text).