Поскольку линия фронта была короткой, не превышала 200 км, плотность немецкой обороны оказалась чрезвычайно высокой. Начальник штаба 2-го Прибалтийского фронта генерал Леонид Сандалов свидетельствовал: «Командование группы армий превратило Курляндский полуостров в сплошной укрепленный район. Вся территория полуострова была покрыта оборонительными рубежами с полевыми и долговременными укреплениями и различными заграждениями, в том числе и со сплошными минными полями». Оборонявшиеся получали все необходимое снабжение морем через порты Либава (Лиепая) и Виндава (Вентспилс). Так, в октябре было получено 881 тыс. т грузов, в ноябре – 1 577 тыс. т, а в декабре – 1 112 тыс. т грузов. Советский Балтийский флот не смог блокировать Курляндский полуостров с моря. К 1 декабря 1944 года курляндская группировка вместе с Люфтваффе и флотом насчитывала 505,5 тыс. человек. Неоднократные советские атаки приводили лишь к очень незначительному продвижению.
В советской историографии с момента начала Великой Отечественной войны господствовал миф, согласно которому успехи немцев в 1941 году были обусловлены внезапностью нападения и значительным численным превосходством, которым обладал вермахт над Красной Армией, особенно по числу танков и самолетов. При этом утверждается, что германская армия вторжения вместе с союзниками насчитывала 5,5 млн человек, тогда как противостоявшие им части Красной Армии вместе с пограничниками насчитывали только 2,9 млн человек.
В действительности у советского командования было достаточно сил и средств, чтобы отразить ожидавшееся немецкое наступление на западном направлении, но при условии, если бы действовавшие там войска координировались бы из единого центра и было бы правильно определено направление главных ударов немецких войск.
Южнее Харькова успешно наступала к Днепру 6-я армия Юго-Западного фронта. Ставка собиралась разгромить немецкую группировку в Донбассе. Сталин приказал Ватутину занять Днепропетровск, Запорожье и Синельниково, чтобы не допустить отхода противника за Днепр. Командование фронтами и Ставка считали, что враг разбит и не может оказать серьезного сопротивления. Но немецкие войска прочно удерживали район Краснограда и рубеж Краматорск – Красноармейск, откуда Манштейн собирался нанести контрудар. Чтобы сосредоточить силы для контрнаступления, он оставил Ростов-на-Дону и перебросил под Харьков пять танковых дивизий 1-й и 4-й танковых армий. Эта перегруппировка не была вскрыта советской разведкой. Считалось, что враг поспешно отступает и серьезно обороняться будет только на рубеже Днепра. 19 февраля войска Юго-Западного фронта взяли Синельниково. Но это был последний успех на пути к Днепру.
Финальное наступление на Киев было осуществлено с лютежского плацдарма. До этого в ходе октябрьского наступления с букринского плацдарма, проводившегося по инициативе Жукова, войска 1-го Украинского фронта понесли очень большие потери, но успеха не добились. В конце октября в районе севернее Кривого Рога Манштейн нанес контрудар силами 1-й танковой и 8-й армий, чтобы предотвратить возможное окружение 1-й танковой армии. Было захвачено 5 тыс. пленных, уничтожено 350 танков, по оценке Манштейна, было убито до 10 тыс. красноармейцев. Однако сбросить советские войска в Днепр не удалось. Зато этот контрудар ослабил немецкую группировку в районе Киева, чем не преминуло воспользоваться советское командование.