Some of that bloat is legitimate, or at least dictated by consumer expectations.
Consider graphics resources: modern screens typically 9 to 16 times as many pixels per square inch. Even though Macintosh computers have always been known for their graphical interfaces and use in publishing, user interface elements did not always exploit increased colour depth in the early 1990's. A graphics resource in a modern application can use an additional 4 to 32 times more memory just for colour. Software also tends to incorporate more graphical elements these days, thus adding more bulk. We shouldn't be surprised by Photoshop being 310 times larger. Since people tend to notice the visual quality of software, whether it enhances the software or is pure cosmetics, it is not necessarily a bad thing.
Other aspects of software will also influence its growth. Modern software tends to support more languages and regional variations in how data (numbers, time, etc.) are represented. This virtually always produces a noticeably larger program. More features means more code and associated data, while optimization tends to focus upon speed at the expense of size. Again, programs will be larger. When it improves accessibility and functionality, this "bloat" is a good thing.
I am not saying that bloat is always a good thing and I appreciate how much developers of the past could do so much with so little. My favourite example are early versions of Clarisworks, where a stripped down installation could fit on a single floppy disk while offering a word processor, spreadsheet, database, paint program, vector illustration, and telecommunications software. It also addressed the needs of most home and home office users, even considered in the current context. That being said, most people would consider the presentation stark by modern standards and anyone who takes the time to actually learn how to use their software would find the features skimpy.