Откуда такая разница между размерами приложений?
Многие не-фришные проги тащят с собой кучу своих собственных либов, а фришные используют готовые — вот и место. Причем не-фришные тащат обычно столько барахла чисто для совместимости — ставишь «из коробки» — и чтоб все работало вне зависимости от того, что у усера еще стоит, чтобы не было конфликтов версий и прочей фигни, в результате их распирает аж мама не горюй. Я как-то ставил софтинку портированную из линукса — так она свой цигвин тащит. Ну это одна мааааленькая софтинка. А теперь представьте что-то поболее, с гуевыми штуками, а это сколько мег внешних либ? Если усеру такое продать с инструкцией поставить 25 дополнительных пакетов перед тем как ставить основную прогу — так усер разработчика нафиг пошлет. Вот и пихают, пихают, пихают, чтоб одним кликом щастье наступило.

Ну и еще учитывайте локализацию под не один десяток языков, доки на разных языках, графические темы…
Для телефонов там всяких драйвера на все лады еще например пихают.
Пасхальные яйца, неоптимизированный код, код «на про запас»…