I think, both do their jobs well but on diffrent fronts.
Windows dominates the home user market
Linux dominates the server market
Being free cannot boost Linux. But it may help to prey some home users.
With such wide user base it seems nearly impossible to shift the market from Windows to Linux
Linux is not so stable in GUI. So better to stick to Gates & Windows