Faster CPUs, more RAM and harddisk space are available, so non-optimized code still runs "fast enough" and is not penalized by the user. Not caring about optimization and using multiple stacked-over-each-other APIs makes programming easier and faster, and larger projects possible.

And that, ladies and gentlemen is the reason for the software bloat we observe today - a project like Office 2000 would be simply impossible to manage if it were done in hand-optimized assembler code, and it would take a hundred years. The result might run on a 486 with 8 MB of RAM and take up only 20 MB diskspace, but nobody'd care.