Дело в том, что в русском языке существует такое понятие, как нулевое склонение. К нему относятся многие существительные, пришедшие из других языков, например, шоссе, радио, кофе, кино, рагу, кенгуру и пальто, о котором мы говорим сегодня. Нулевое склонение – одна из интересных особенностей русского языка. Другие славянские языки, как правило, допускают склонение любых иноязычных слов. Например, если мы возьмем чешский язык, то увидим, что там склоняется слово metro – по тем же правилам, что существительные среднего рода, оканчивающиеся на “о” (vozy metra – вагоны метро). Что касается сербского языка, то там склоняются иностранные мужские фамилии, которые оканчиваются на гласный звук (например, ulica Ulofa Palmea – улица Улофа Пальме, именительный падеж – Улоф Пальме). Можно привести и противоположные пример: в русском языке склоняются иностранные слова, заканчивающиеся на -иум (аквариум, в том аквариуме), а в польском языке они не склоняются (akwarium, v tym akwarium).
Сложно сказать, почему именно эти заимствованные слова в русском языке не склоняются: так просто сложилось. Важно отличать друг от друга просторечный и литературный русский язык, поскольку в просторечном языке допускается склонение многих существительных нулевого склонения (например, то же самое пальто или Сочи). Язык невольно пытается подстроить эту систему под общие правила, “загнать” в систему. Однако на официальном уровне это не закрепляется в качестве нормы и остается лишь в рамках шуток и просторечия. Считается, что это произошло из-за недопустимости переосмысления конечных гласных иностранных слов, так же, как и переосмысления гласных в конце исконно русских слов (окно, поле).