Windows has lots of legacy code for backwards compatibility with heaps of third-party vendor software and platforms. It also includes full third-party drivers for heaps of software. Windows software in general has a history and reputation for being bloated, which is largely due to compatibility reasons. Windows also has the capability to play a variety of games across many DirectX versions, and a variety of proprietary multimedia formats. Compatibility and universal usage for any task are Microsoft's goals so they can maintain their position as a desktop monopoly.
Linux drivers are often more universal, using a common driver API across various hardware models. This is good and bad. For example, some hardware doesn't work at all, some works perfectly, and some has missing features. Software on Linux often follows the Unix philosophy - each component or tool should do one thing and do it very well, and software developers aren't afraid to break backwards compatibility to remove cruft and bad code.
Both operating systems have their strength and weaknesses. These days where 500 GB hard drives are cheap, the disk size of the installation should be the least of your concerns. A bigger concern is how much of the system's resources are consumed by running programs.
Either Windows or Linux is inefficient about resource usage depending on what you're doing. They have different design goals, different target markets, and different philosophies driving their development.