А вот нашёл в Вики:
Причины длительной осады
На продолжительность осады, по разным версиям, могли повлиять несколько факторов в различном сочетании:
* Общее снижение боеспособности монгольской армии после первого этапа похода, выявившаяся ещё при осаде Торжка и ставшая возможной причиной отказа от похода на Новгород.
* Распутица сделала непроходимыми долины рек Жиздры и впадающей в неё у Козельска Другусны и заперла монгольское войско на водоразделе.
* Распутица превратила город в островную крепость.
* Распутица отрезала отряды Кадана и Бури от основных сил.
* Козельск был назначен местом сбора войск.
* До подхода всех монгольских частей Козельск не штурмовался.
* Монголы мстили городу за давнее убийство послов бывшим козельским князем, участником битвы на Калке Мстиславом Святославичем.