Because it needs to: 1 - download the update 2 - extract the update 3 - create temporary files while doing the update. That is why it needs all of that space. Once that is all done then temp files are deleted and the extra space is available again.
I am working on a large sized project that is about 1020 MB in size. This is because, apart from the code, we have other resources, like graphics, XML configurations, etc. in the version control.