Это очень интересное лингвистическое явление, когда нейтральное слово оказывается хулительным (сюда же "собачиться", "лаять" и т. д.). То же самое произошло со словом "баба", которое стало использоваться чуть ли не как упрек (как и немецкое Weib), или со словом "девица", употребляющееся в основном в смысле "наглая/легкомысленная девица" ("зашла тут одна девица"), или со словом "поп", которое из нормативного обозначения священнослужителя превратилось в слово с оттенком осуждения. И это не значит, что среди русских людей большая часть оказалась нелюбителями собак, женоненавистниками и антиклерикалами. Просто здесь сказалось стремление городских жителей подняться над привычным бытом, возвыситься над обыденным, стать таким аристократом духа; и собака здесь выступает как образ наиболее бытового животного, "друга человека". Кошка кажется независимой от быта, ходящей сама по себе. По этой же причине и слово "быт" стало употребляться не как нейтральное, а в смысле "надоел мне этот быт", "бытовуха", и слово "жизнь" — в смысле "такова жизнь" (c'est la vie), "он еще жизни не знает".
Не меньше здесь сказались народные обзывательства-сравнения, того же типа, что "козёл", "баран", "свинья" или "курица" по отношению к человеку, имеющие в виду животность (сексуальный напор и при этом неразумность, и дополнительно некоторые свойства именно этого животного). Сравнение с собакой здесь звучит сравнительно мягко: всё же "Не твоё собачье дело" это не так обидно, чем "Тебя, козла, не спрашивали". При этом ненависти к козлам и козам, равно как свиньям, ослам и другим животным, у сельских жителей точно нет.